在iOS当中发送电子邮件和短信

时间:2023-03-10 01:14:47
在iOS当中发送电子邮件和短信

iOS实现发送电子邮件的方法很简单,首先导入MessageUI.framework框架,然后代码如下:

 #import "RPViewController.h"

 //添加邮件头文件
#import <MessageUI/MFMailComposeViewController.h> @interface RPViewController () <MFMailComposeViewControllerDelegate> @end @implementation RPViewController - (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
} - (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
} - (IBAction)click:(id)sender {
if ([MFMailComposeViewController canSendMail]) {
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self; //在这里可以设定邮件的默认标题/内容,也可以设置收件人等
[picker setSubject:@"标题"];
NSString *emailBody = @"邮件内容"; [picker setMessageBody:emailBody isHTML:NO];
[self presentViewController:picker animated:YES completion:nil];
// [picker release];
}
else {
//无法发送邮件,在这里给用户提示
}
} #pragma mark 邮件代理方法
- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error {
switch (result) {
case MFMailComposeResultCancelled:
//取消发送
break;
case MFMailComposeResultSaved:
//保存草稿
break;
case MFMailComposeResultSent:
//发送成功
break;
case MFMailComposeResultFailed:
//发送失败
break;
default:
break;
} [self dismissViewControllerAnimated:YES completion:nil];
} @end

首先导入邮件的头文件,之后创建一个发送邮件用的控制器,设置默认参数,然后弹出这个控制器。

令当前控制器充当邮件控制器的代理,这样一来在邮件相关事件执行之后,就能给出一些用户提示了,也要在这里收起邮件视图。

发短信的道理完全一样,只是控制器换成了MFMessageComposeViewController,代理换成了MFMessageComposeViewControllerDelegate,配置代码如下:

     if ([MFMessageComposeViewController canSendText]) {
MFMessageComposeViewController *message = [[MFMessageComposeViewController alloc] init];
message.messageComposeDelegate = self; message.recipients = @[@"电话号码"];
message.body = @"内容"; [self presentViewController:message animated:YES completion:nil];
}