iOS开发 邮件发送

邮件发送功能是由MessageUI Framework提供的,这个框架是iPhone sdk中最简单的框。由一个类、一个视图控制器,一个protocol组成。

一、创建视图控制器:


1 MFMailComposeViewController *mc = [[MFMailComposeViewController alloc] init];
2 mc.mailComposeDelegate = self;

二、设置邮件主题:


1 [mc setSubject:@"Hello, World!"];

三、设置收件人,收件人有三种:

1、设置主收件人


1 [mc setToRecipients:[NSArray arrayWithObjects:@"xuanyi@163.com",
2 "xuanyi@sina.com", nil];

2、设置cc


1 [mc setCcRecipients:[NSArray arrayWithObject:@"xuanyi@163.com"]];

3、设置bcc


1 [mc setBccRecipients:[NSArray arrayWithObject:@"xuanyi@163.com"]];

四、设置邮件主体,有两种格式。

一种是纯文本


1 [mc setMessageBody:@"Watson!!!\n\nCome here, I need you!" isHTML:NO];

一个是html格式


1 [mc setMessageBody:@"<HTML><B>Hello, Joe!</B><BR/>What do you know?</HTML>"
2 isHTML:YES];

五、添加附件

添加附件需要三个参数,一个是NSData类型的附件,一个是mime type,一个附件的名称。


1 NSString *path = [[NSBundle mainBundle] pathForResource:@"blood_orange"
2 ofType:@"png"];
3 NSData *data = [NSData dataWithContentsOfFile:path];
4 [mc addAttachmentData:data mimeType:@"image/png" fileName:@"blood_orange"];

六、视图呈现


1 [self presentModalViewController:mc animated:YES];
2 [mc release];

七、视图控制器的委托方法

邮件视图控制器的委托方法包含在MFMailComposeViewControllerDelegate中,无论用户是否发送或取消发送,不论系统是否能够发送邮件,方法 mailComposeController:didFinishWithResult:error: gets called都会被调用。


1 - (void)mailComposeController:(MFMailComposeViewController*)controller
2 didFinishWithResult:(MFMailComposeResult)result
3 error:(NSError*)error {
4 switch (result)
5 {
6 case MFMailComposeResultCancelled:
7 NSLog(@"Mail send canceled...");
8 break;
9 case MFMailComposeResultSaved:
10 NSLog(@"Mail saved...");
11 break;
12 case MFMailComposeResultSent:
13 NSLog(@"Mail sent...");
14 break;
15 case MFMailComposeResultFailed:
16 NSLog(@"Mail send errored: %@...", [error localizedDescription]);
17 break;
18 default:
19 break;
20 }
21 [self dismissModalViewControllerAnimated:YES];
22 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值