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

Есть ли какая-либо библиотека SMPSKMPMessage для использования в Swift? ранее я использовал этот урок, который находится в цели - c. Я хочу отправить письмо в фоновом режиме, используя Swift.

2 ответа

Решение

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

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

pod 'skpsmtpmessage'

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

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 = "login@gmail.com"
        message.pass = "password"
        message.requiresAuth = true
        message.wantsSecure = true
        message.relayPorts = [587]
        message.fromEmail = "login@gmail.com"
        message.toEmail = "to@gmail.com"
        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!")
    }
}
Другие вопросы по тегам