Функция отправки сообщения skpsmtpmessage работает некорректно?
Итак, я загрузил модуль skpsmtpmessage и установил его в свой проект. У меня в проекте есть файл MailSender, который выглядит так:
import Foundation
import skpsmtpmessage
class MailSender: NSObject, SKPSMTPMessageDelegate {
static let shared = MailSender()
func sendEmail() {
let message = SKPSMTPMessage()
message.relayHost = "smtp.gmail.com"
message.login = "myemail@gmail.com"
message.pass = "password"
message.requiresAuth = true
message.wantsSecure = true
message.relayPorts = [587]
message.fromEmail = "myemail@gmail.com"
message.toEmail = "recipientemail@gmail.com"
message.subject = "subject"
let messagePart = [kSKPSMTPPartContentTypeKey: "text/plain; charset=UTF-8", kSKPSMTPPartMessageKey: "body of email"]
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!")
}
}
В ContentView у меня есть кнопка, которая выглядит так:
Button("click me") {
MailSender.shared.sendEmail()
}
Когда я запускаю симулятор и нажимаю кнопку в ContentView, я получаю на выходе кучу сообщений "*** остановка сторожевого таймера ***", а затем несколько дополнительных сообщений, в которых говорится: "S: 250-smtp.gmail.com на вашем service, [Мой IP-адрес]", а затем появляется сообщение"S: 535-5.7.8 Имя пользователя и пароль не приняты. Подробнее см. ", но я знаю, что предоставленные мной адрес электронной почты и пароль правильно (в моей версии проекта это мой личный адрес электронной почты). Любая помощь будет принята с благодарностью.
1 ответ
По умолчанию поддержка внешних клиентов в Gmail отключена, поэтому войдите в свою учетную запись и убедитесь, что вы включили некоторые из них, предпочтительнее IMAP.
Затем убедитесь, что вы правильно настроили почтовый клиент.