Есть ли библиотека SKPSMTPMessage для Swift?

Есть ли какая-нибудь библиотека SKPSMTPMessage для использования в Swift? ранее я использовал это руководство, которое в объективе - c. Что я хочу сделать, так это отправить письмо в фоновом режиме с помощью Swift.


person Nisha    schedule 31.01.2015    source источник


Ответы (2)


Я не знаю какой-либо библиотеки отправки электронной почты в Swift, но вы определенно можете использовать ту, что описана в руководстве по Objective-C, в своем приложении Swift. Все библиотеки Objective-C совместимы с кодом Swift: просто используйте bridging header.

person Nicolas B.    schedule 31.01.2015

Просто интегрируйте skpsmtpmessage с какао-бобами, добавив:

pod 'skpsmtpmessage'

в свой подфайл, а затем вы отправляете электронное письмо из кода:

import skpsmtpmessage

class MailSender: NSObject, SKPSMTPMessageDelegate {
    static let shared = MailSender()

    func sendEmail(subject: String, body: String) {
        let message = SKPSMTPMessage()
        message.relayHost = "smtp.gmail.com"
        message.login = "[email protected]"
        message.pass = "password"
        message.requiresAuth = true
        message.wantsSecure = true
        message.relayPorts = [587]
        message.fromEmail = "[email protected]"
        message.toEmail = "[email protected]"
        message.subject = subject
        let messagePart = [kSKPSMTPPartContentTypeKey: "text/plain; charset=UTF-8", kSKPSMTPPartMessageKey: body]
        message.parts = [messagePart]
        message.delegate = self
        message.send()
    }

    func messageSent(_ message: SKPSMTPMessage!) {
        print("Successfully sent email!")
    }

    func messageFailed(_ message: SKPSMTPMessage!, error: Error!) {
        print("Sending email failed!")
    }
}
person Leszek Szary    schedule 01.02.2018
comment
Это приводит к сбою приложения. Пожалуйста, дайте мне знать, если вы также столкнулись с проблемой сбоя? - person Mohsin Qureshi; 19.09.2019
comment
Нет, у меня не было сбоев в последний раз, когда я использовал это (в феврале 2018 года). - person Leszek Szary; 20.09.2019