【问题标题】:Send an email from my app without using MFMailComposeViewController不使用 MFMailComposeViewController 从我的应用程序发送电子邮件
【发布时间】:2013-11-13 16:21:04
【问题描述】:

是否可以通过单击按钮将使用我自己的电子邮件地址自动生成的电子邮件发送到我的另一个电子邮件地址?

我尝试使用MFMailComposeViewController,但出现了另一个视图。没有这个视图可以吗?

【问题讨论】:

标签: ios email


【解决方案1】:

您只能通过创建自己的服务器端邮件程序来做到这一点。单击按钮时,您必须发送包含所有所需数据(电子邮件地址、正文、主题等)的请求,服务器将发送邮件。

如果您想直接从应用程序发送 - MFMailComposeViewController 是唯一合法的方式

【讨论】:

  • 这根本不是真的。从没有MFMailComposeViewController的应用程序发送电子邮件是完全合法的。
  • 我在我的应用程序中使用 skpsmtpmessage (github.com/jetseven/skpsmtpmessage)。完美运行,使用 gmail 发件人或公司 SMTP 服务器
【解决方案2】:

默认情况下,在 iOS 中您只能使用 MFMailComposeViewController,它使用用户的邮件帐户。因此,您不能发送完全自动化的邮件消息(用户总是必须确认/取消)。

libMailCore 是一个很棒的 iOS 框架,它允许您在没有任何用户干预的情况下生成和发送邮件。在这种情况下,您将使用自己的服务器/凭据(因此不是用户邮件帐户)。 App Store 中有使用 mailcore 的应用程序,所以我猜它是合法的。

【讨论】:

  • 嗯.. 没有。 mailcore 不能单独用于发送电子邮件。您仍然必须使用MFMailComposeViewController.. 自己查看邮件核心的api docs,您会发现它们都是获取/下载邮件内容的方法.. 不是创建/发送它们
  • 不,先生,您不需要“MFMailComposeViewController”,但您需要自己的 smtp 服务器。甚至还有关于如何设置的示例代码,我自己使用它(没有'MFMailComposeViewController')!
【解决方案3】:

是的,有一种方法可以使用Swift-SMTP

发送电子邮件 创建一个 Mail 对象并使用您的 SMTP 句柄发送它。要设置电子邮件的发件人和收件人,请使用 User 结构:

let drLight = Mail.User(name: "Dr. Light", email: "drlight@gmail.com")
let megaman = Mail.User(name: "Megaman", email: "megaman@gmail.com")

let mail = Mail(
    from: drLight,
    to: [megaman],
    subject: "Humans and robots living together in harmony and equality.",
    text: "That was my ultimate wish."
)

smtp.send(mail) { (error) in
    if let error = error {
        print(error)
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-19
    • 1970-01-01
    • 1970-01-01
    • 2010-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多