不使用MFMailComposeViewController发送邮件

时间:2009-08-11 22:50:55

标签: iphone objective-c

我想从iPhone应用发送邮件而不显示MFMailComposeViewController。我还希望从用户的默认邮件帐户发送此邮件。有可能这样做吗?

3 个答案:

答案 0 :(得分:15)

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

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

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

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

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

还有一些图书馆可能有所帮助。以前的相关问题:

答案 1 :(得分:4)

想要发送电子邮件有正当理由。 (例如使用SMTP而不是HTTP与服务器通信)

这篇博客文章可以帮到你:http://vafer.org/blog/20080604120118

答案 2 :(得分:1)

可以在没有用户互动的情况下使用MFMailComposeViewController。请参阅iPhone send email not using MessageUI问题的答案。