我正在使用应用。用户要求是通过电子邮件将患者表格发送到特定电子邮件帐户。问题是电子邮件将在不显示mfmailcomposeviewcontroller的情况下发送。意思是说用户将按下一个提交按钮,然后发送电子邮件发送到用户帐户,而无需从iPhone设备使用mfmailcomposeviewcontroller。可能吗?谁能帮我 ?请把这个工作的任何例子发给我。我在这一点上有很多搜索,遗憾的是我找不到任何结果。
答案 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可能与发件人电子邮件中的域不匹配。
还有一些可能有帮助的库
答案 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];
}
点击提交按钮使用它,我希望它可以帮助你