发送电子邮件而不显示MFMailcomposeviewcontroller

时间:2013-11-21 07:00:39

标签: iphone objective-c mfmailcomposeviewcontroller

我正在使用应用。用户要求是通过电子邮件将患者表格发送到特定电子邮件帐户。问题是电子邮件将在不显示mfmailcomposeviewcontroller的情况下发送。意思是说用户将按下一个提交按钮,然后发送电子邮件发送到用户帐户,而无需从iPhone设备使用mfmailcomposeviewcontroller。可能吗?谁能帮我 ?请把这个工作的任何例子发给我。我在这一点上有很多搜索,遗憾的是我找不到任何结果。

3 个答案:

答案 0 :(得分:4)

Apple 未在未显示 MFMailcomposeviewcontroller 的情况下为发送电子邮件提供邮件框架

使用任何Apple框架无法以编程方式从iphone应用程序发送电子邮件without user intrection

可能是possible in a jailbroken phone,但它永远不会看到inside of App Store

原始回答

如果您想控制电子邮件发送,那么更好的方法是设置web service (at your server end),您可以发布使用 HTTP请求。如果您只发布一个地址,这可以很好地工作,尽管您可能希望让用户输入他们的回邮地址。

答案 1 :(得分:0)

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

为什么不呢?我的猜测:因为它容易被滥用。如果我们知道用户的电子邮件地址,我们可以垃圾邮件他们,我们可以从他们的假电子邮件等试想一下,找出一个iPhone应用程序发送了一封电子邮件,你不知情的情况下 - 不冷静,即使该应用程序具有良好的意图

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

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

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

还有一些可能有帮助的库

Open Source Cocoa/Cocoa-Touch POP3/SMTP library?

答案 2 :(得分:0)

Bilal,我想你不要用这个

     if ([MFMailComposeViewController canSendMail] )
       {
         MFMailComposeViewController *mailController = [[MFMailComposeViewController 
                                                                        alloc] init];
         [mailController setMailComposeDelegate:self];
         [mailController setSubject:@"Patient Form"];
         [mailController setMessageBody:increments isHTML:YES ];
         [mailController setToRecipients:[NSArray arrayWithObject:@"email id"]];
         [self presentViewController:mailController animated:NO completion:nil];

       }

点击提交按钮使用它,我希望它可以帮助你