博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS开发之邮件发送代码
阅读量:7089 次
发布时间:2019-06-28

本文共 1859 字,大约阅读时间需要 6 分钟。

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

一、创建视图控制器:

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

二、设置邮件主题:

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

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

1、设置主收件人

[mc setToRecipients:[
NSArray 
arrayWithObjects:@
"zhuqi0@126.com"
,
        
"@dave@iphonedevbook.com"
,
nil
];

2、设置cc

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

3、设置bcc

[mc setBccRecipients:[NSArray arrayWithObject:@"secret@gmail.com"]];

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

一种是纯文本

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

一个是html格式

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

五、添加附件

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

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

六、视图呈现

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

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

邮件视图控制器的委托方法包含在MFMailComposeViewControllerDelegate中,无论用户是否发送或取消发送,不论系统是否能够发送邮件,

方法 mailComposeController:didFinishWithResult:error: gets called都会被调用。

- (void)mailComposeController:(MFMailComposeViewController*)controller  didFinishWithResult:(MFMailComposeResult)result  error:(NSError*)error {  switch (result) { case MFMailComposeResultCancelled: NSLog(@"Mail send canceled..."); break; case MFMailComposeResultSaved: NSLog(@"Mail saved..."); break; case MFMailComposeResultSent: NSLog(@"Mail sent..."); break; case MFMailComposeResultFailed: NSLog(@"Mail send errored: %@...", [error localizedDescription]); break; default: break; } [self dismissModalViewControllerAnimated:YES]; }

  

本文转自麒麟博客园博客,原文链接:http://www.cnblogs.com/zhuqil/archive/2011/07/21/2112816.html,如需转载请自行联系原作者

你可能感兴趣的文章
Java中throw和throws的区别
查看>>
线程池
查看>>
人生路上的得与失,我要重新起航
查看>>
利用移动硬盘安装windows7系统
查看>>
Windows mobile UI
查看>>
Android 自动更新APP时确定安装后没有显示安装完成页面
查看>>
APUE第八章学习札记之进程用户ID与文件用户权限相关知识总结
查看>>
c++中::的用法和命名空间
查看>>
My First Angular 2 App
查看>>
使用Percona XtraBackup备份 MySQL InnoDB 数据库
查看>>
微信开发实践(一):使用JS-SDK实现自定义分享 Ⅰ
查看>>
『毒舌吐槽社区』-很多敏感内容,你懂的!
查看>>
两百条微信小程序开发跳坑指南(不定时更新)
查看>>
spring aop 对jsonp进行封装
查看>>
一张图读懂JVM
查看>>
森之亡女 2
查看>>
Spark(Framework)
查看>>
用webgl打造自己的3D迷宫游戏
查看>>
微信小程序学习路线【经验之谈】
查看>>
android定位和地图开发实例
查看>>