【问题标题】:skpsmtpmessage sending email function is not working correctly?skpsmtpmessage 发送邮件功能无法正常工作?
【发布时间】:2020-11-10 08:27:49
【问题描述】:

所以我下载了 skpsmtpmessage pod 并将其安装到我的项目中。我在项目中有一个名为 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 在您的服务,[我的 IP 地址]”,然后有一条消息说“S:535-5.7.8 用户名和密码不被接受。了解更多信息”,但我知道我的发件人电子邮件和密码m 提供是正确的(这是我的项目版本中的我的个人电子邮件信息)。任何帮助将不胜感激。

【问题讨论】:

    标签: swift email swiftui mail-sender skpsmtpmessage


    【解决方案1】:

    默认情况下,Gmail 上对外部客户端的支持是关闭的,因此请登录您的帐户并确保您启用了一些,首选 IMAP。

    然后确保您正确配置电子邮件客户端

    【讨论】:

    • 嗨 Asperi,我尝试将 message.relayHost 更改为“imap.gmail.com”,将 relayPort 更改为 993,然后尝试将 relayHost 设置为“smtp.gmail.com”,并将 relayPort到 465 但都不起作用。我不完全明白如何正确设置 - 您是否也可以提交带有更正的 relayPort 和 relayHost 的答案?
    猜你喜欢
    • 2012-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-23
    • 2017-09-23
    • 2018-12-02
    • 2023-04-01
    相关资源
    最近更新 更多