发送邮件没有MFMailComposeViewController

我想从iPhone应用程序发送邮件,而不显示MFMailComposeViewController 。 我也希望这个邮件从用户的默认邮件帐户发送。 可以这样做吗?

这不被iPhone SDK支持,可能是因为苹果公司不希望你这样做。

为什么不? 我的猜测是:因为这很容易被滥用。 如果我们知道用户的电子邮件地址,我们可以发送垃圾邮件,我们可以伪造他们的电子邮件等。想象一下,发现一个iPhone应用程序发送电子邮件,你不知道 – 即使该应用程序有良好的意图,不冷静。

所以,你所做的任何事情都可能会让你在app store被拒绝。

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

去那个路线意味着要求用户input他们的用户名,密码,并要求或者找出他们的邮件服务器信息。 另一种select是直接从手机(你自己的smpt服务器,而不仅仅是一个客户端),这是一个更多的编码。 而且,如果您编写自己的服务器,则发送的邮件更可能被阻止,因为您的原始IP可能与发件人电子邮件上的域名不匹配。

也有一些图书馆可能有所帮助。 上一个相关问题:

  • 开源cocoa/ Cocoa-Touch POP3 / SMTP库?

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

这个博客文章应该让你去: http : //vafer.org/blog/20080604120118

可以在没有用户交互的情况下使用MFMailComposeViewController 。 在iPhone上查看我的回答, 发送不使用MessageUI问题的电子邮件 。