不使用MFMailComposeViewController发送邮件

Jon*_*ing 17 iphone objective-c

我想从iPhone应用程序发送邮件而不显示MFMailComposeViewController.我还希望从用户的默认邮件帐户发送此邮件.是否有可能做到这一点?

Tyl*_*ler 15

iPhone SDK不支持此功能,可能是因为Apple不希望您这样做.

为什么不?我的猜测:因为它容易被滥用.如果我们知道用户的电子邮件地址,我们可以发送垃圾邮件,我们可以伪造他们的电子邮件等.想象一下,在你不知情的情况下发现一个iPhone应用程序发送了一封电子邮件 - 即使应用程序有良好的意图,也不会很酷.

所以,你做的任何事情都可能让你从应用程序商店中被拒绝.

说了这么多,你基本上可以编写自己的smtp交互代码来与用户的外发邮件服务器聊天.例如,如果用户有一个Gmail帐户,您可以询问他们的电子邮件和密码,您必须知道如何与gmail服务器通信,并通过它们发送电子邮件.

走这条路线意味着要求用户提供他们的用户名,密码,并要求或计算他们的邮件服务器信息.另一个选择是直接从手机(你自己的smpt服务器,而不仅仅是客户端)发送,这是一个更多的编码.如果您编写自己的服务器,则您发送的邮件更有可能被阻止,因为您的原始IP可能与发件人电子邮件中的域不匹配.

还有一些库可能有所帮助.以前的相关问题: