我可以在iPhone应用中以编程方式发送电子邮件吗

时间:2010-11-07 20:24:50

标签: iphone objective-c email sms sendmessage

我需要能够在iphone应用程序中以编程方式发送预先格式化的电子邮件或短信。可以这样做吗?我查看了Apple的MFMailComposeViewController类,但这“提供了一个管理编辑和发送电子邮件消息的标准接口”,而MFMessageComposeViewController类也有自己的“用于编写SMS文本消息的标准系统接口”。这些允许您向用户显示一个界面,他们必须填写所有数据,然后明确按下发送按钮。

我无法使用此样板功能。

我需要能够在不向用户显示任何界面的情况下发送消息。我知道这听起来很邪恶,但实际上它适用于商业应用程序,当现场用户在现场执行特定操作时,需要与中央办公室中的用户组进行通信。

有没有人找到解决方案?

8 个答案:

答案 0 :(得分:12)

经过大量调查后,我发现无需用户干预,从iphone应用程序以编程方式发送电子邮件,无法使用任何苹果框架实现。

答案 1 :(得分:5)

设置您可以使用HTTP请求发布的Web服务。如果您只发布到一个地址,这可以很好地工作,尽管您可能希望让用户输入他们的回邮地址。

否则只有标准对话框可用(这依赖于使用他们在设备上设置的任何帐户)。

答案 2 :(得分:3)

以下是一些适用于OS X的SMTP API。它们也适用于iOS。

  • 默剧
  • MailCore
  • EdMessage

答案 3 :(得分:1)

仅可通过Web界面,您无法隐藏界面,这是根据Apple Guidlines to Developer和文档

答案 4 :(得分:1)

寻找这样一个问题的解决方案,我在这里找到了一些有趣的东西:How to send mail from iphone app without showing MFMailComposeViewController?

我希望这会有用!

答案 5 :(得分:0)

我没有iOS经验,但我有足够的电子邮件协议经验,如果客户端应用程序可以在不访问服务器的情况下发送电子邮件,我会感到非常惊讶。更有可能的是,电子邮件将使用SMTP协议发送,因此必须使用SMTP服务器发送。选择连接到该服务器的方式是您拥有的唯一选择。您可以连接到服务器端脚本(例如php)来生成和发送电子邮件,或者您可以创建套接字并直接连接到SMTP服务器上的端口25,并仍然从您的客户端应用程序生成电子邮件。

退房:

答案 6 :(得分:0)

这是标准的不可能。如果您无法使用标准对话框,则需要使用SMTP。

短信是一样的,使用基于网络短信服务的对话框(其中大部分需要花费一些钱)。

答案 7 :(得分:0)

您始终可以使用SMTP协议对已知邮件服务器执行低级别telnet发送邮件。我不知道Apple是否会拒绝该应用,但SMTP很简单。