我想在我正在制作的iPhone应用程序中设置一个按钮,发送一封电子邮件,其中包含应用程序中之前执行的某些操作的结果。我已经读过其他人在这里评论你可以使用其他框架,但坦率地说,我找不到一个真正有用的框架。我听说MailCore很好。有没有人能够通过iPhone应用程序无缝地发送电子邮件?
注意:我不想退出应用程序发送电子邮件。
答案 0 :(得分:1)
从这个问题回答:How can I send mail from an iPhone application
在iPhone OS 3.0及更高版本中,您应该使用MFMailComposeViewController类和MFMailComposeViewControllerDelegate协议,它隐藏在MessageUI框架中。 注意您必须链接Message UI Framework并导入其标题。
#import <MessageUI/MFMailComposeViewController.h>
首先发送消息:
MFMailComposeViewController* controller = [[MFMailComposeViewController alloc] init];
controller.mailComposeDelegate = self;
[controller setSubject:@"My Subject"];
[controller setMessageBody:@"Hello there." isHTML:NO];
if (controller) [self presentModalViewController:controller animated:YES];
[controller release];
然后用户完成工作并及时获得委托回调:
- (void)mailComposeController:(MFMailComposeViewController*)controller
didFinishWithResult:(MFMailComposeResult)result
error:(NSError*)error;{
if (result == MFMailComposeResultSent) {
NSLog(@"It's away!");
}
[self dismissModalViewControllerAnimated:YES];
}
答案 1 :(得分:0)
在这种情况下,您最好的选择是使用像Amazon Simple Email Service(SES)这样的服务。它使您能够在不离开应用程序的情况下发送电子邮件(与列出的其他解决方案不同)。 Amazon AWS有一个可以利用SES服务的iOS SDK。这项服务使用起来非常简单,而且成本极低。
答案 2 :(得分:0)
MFMailComposeViewController *mailComposer =[[MFMailComposeViewController alloc] init];
mailComposer.mailComposeDelegate = self;
NSString *emailBody = @"Write email body text here........";
[mailComposer setMessageBody:emailBody isHTML:NO];
[self presentModalViewController:mailComposer animated:YES];
[mailComposer release];