如何从iPhone应用程序发送邮件

如何从iPhone应用程序发送邮件

本文介绍了如何从iPhone应用程序发送邮件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从我的iPhone应用程序发送一封电子邮件。我听说iOS SDK没有电子邮件API。我不想使用以下代码,因为它将退出我的应用程序:

  NSString * url = [NSString stringWithString:@ 电子邮件地址:?![email protected] [email protected]&主题=问候%20from%20Cupertino和放大器;身体=愿望%20you%20were%20here]; 
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];

那么如何从我的应用发送电子邮件?

解决方案

在iOS 3.0及更高版本上,您应该使用 MFMailComposeViewController 类和 MFMailComposeViewControllerDelegate 协议,这是在MessageUI框架中。



首先添加并导入:

 code> #import< MessageUI / MFMailComposeViewController.h> 

然后,发送消息:

  MFMailComposeViewController * controller = [[MFMailComposeViewController alloc] init]; 
controller.mailComposeDelegate = self;
[controller setSubject:@My Subject];
[controller setMessageBody:@你好。 isHTML:NO];
if(controller)[self presentModalViewController:controller animated:YES];
[控制器释放];

然后用户执行工作,您可以及时获得委托回调:

   - (void)mailComposeController :( MFMailComposeViewController *)控制器
didFinishWithResult:(MFMailComposeResult)result
错误:(NSError *)错误;
{
if(result == MFMailComposeResultSent){
NSLog(@It's away!);
}
[self dismissModalViewControllerAnimated:YES];
}

请记住检查设备是否配置为发送电子邮件:

  if([MFMailComposeViewController canSendMail]){
//显示作曲家
} else {
//处理错误
}


I want to send an email from my iPhone application. I have heard that the iOS SDK doesn't have an email API. I don't want to use the following code because it will exit my application:

NSString *url = [NSString stringWithString: @"mailto:[email protected][email protected]&subject=Greetings%20from%20Cupertino!&body=Wish%20you%20were%20here!"];
[[UIApplication sharedApplication] openURL: [NSURL URLWithString: url]];

So how can I send an email from my app?

解决方案

On iOS 3.0 and later you should use the MFMailComposeViewController class, and the MFMailComposeViewControllerDelegate protocol, that is tucked away in the MessageUI framework.

First add the framework and import:

#import <MessageUI/MFMailComposeViewController.h>

Then, to send a message:

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];

Then the user does the work and you get the delegate callback in time:

- (void)mailComposeController:(MFMailComposeViewController*)controller
          didFinishWithResult:(MFMailComposeResult)result
                        error:(NSError*)error;
{
  if (result == MFMailComposeResultSent) {
    NSLog(@"It's away!");
  }
  [self dismissModalViewControllerAnimated:YES];
}

Remember to check if the device is configured for sending email:

if ([MFMailComposeViewController canSendMail]) {
  // Show the composer
} else {
  // Handle the error
}

这篇关于如何从iPhone应用程序发送邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-19 01:00