如何在不打开邮件编辑器 iOS swift 的情况下发送电子邮件?

Har*_*ick 3 email ios swift mfmailcomposeviewcontroller

我正在做 iOS swift 项目。我想用应用程序本身发送邮件。当用户单击应用程序内的提交按钮时,邮件需要在后台发送,否则弹出窗口将出现在应用程序内,而无需导航到邮件编辑器。

\n
        if MFMailComposeViewController.canSendMail() {\n            let mail = MFMailComposeViewController()\n            mail.mailComposeDelegate = self\n            mail.setToRecipients([ApplicationModel.sharedInstance.mailAddress])\n            mail.setSubject("Feedback: \\(UserDefaults.Id)")\n            mail.setMessageBody(sendBpodyMessage(), isHTML: false)\n            present(mail, animated: true)\n        } else {\n            if let emailUrl = createEmailUrl(to: ApplicationModel.sharedInstance.mailAddress,\n                                             subject: "Feedback", body: sendBpodyMessage()) {\n                UIApplication.shared.open(emailUrl)\n            }\n        }\n
Run Code Online (Sandbox Code Playgroud)\n

我参考了很多答案,所有人都说没有办法,苹果没有这个功能。有可能吗,或者还有其他方法吗?

\n

大多数人说使用API​​发送到自己的服务器。如果我没有\xe2\x80\x99t 有任何与上述问题相关的选项,我会尝试一下。

\n

Dun*_*n C 6

Apple 不会允许您在不向用户显示邮件编辑器窗口的情况下从用户帐户发送电子邮件(出于安全原因)。如果您想要这样做,您将必须从您的服务器实现自己的邮件发送机制(并且仍然不会)能够从用户的帐户发送电子邮件。)

并不是说“苹果没有这个功能”。这将是一个巨大的安全漏洞。Apple 明确阻止第三方从用户帐户发送电子邮件(除非使用邮件编辑器),并且永远不会允许这样做

想想如果允许的话可能会出现滥用行为。垃圾邮件发送者可以免费发布“特洛伊木马”应用程序,例如“flappy Bird”:一款有趣、流行的游戏。数百万人下载它。在他们不知情的情况下,它开始从他们的帐户发送电子邮件,试图欺骗他们的朋友或整个在线社区