iOS开发之邮件发送代码
来源:互联网 发布:c语言d什么意思 编辑:程序博客网 时间:2024/06/03 19:51
- 检测设备是否支持邮件发送功能
- Class mailClass = (NSClassFromString(@"MFMailComposeViewController"));
- if (mailClass != nil)
- {
- // We must always check whether the current device is configured for sending emails
- if ([mailClass canSendMail])
- {
- [self displayComposerSheet];//调用发送邮件的方法
- }
- }
邮件发送功能是由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 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,一个附件的名称。
添加 png
NSString *path = [[NSBundle mainBundle] pathForResource:@"blood_orange"
ofType:@"png"];
NSData *data = [NSData dataWithContentsOfFile:path];
[mc addAttachmentData:data mimeType:@"image/png" fileName:@"blood_orange"];
添加附件 pdf 格式时mimetype 用@"application/pdf" 失败(在windows上面打不开,但是在mac上面没问题)
需要更改为 @“pdf” 就可以啦。
添加 CSV 时 用@"text/cvs" 就可以啦,
六、视图呈现
[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://zhuqil.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
0 0
- iOS开发之邮件发送代码
- iOS开发之邮件发送代码
- iOS开发之邮件发送代码
- iOS开发之邮件发送代码
- iOS开发之邮件发送代码
- iOS开发之邮件发送代码
- iOS开发之发送邮件
- iOS开发之发送邮件
- iOS开发之邮件发送
- iOS开发之调用邮件发送
- iOS开发之发送信息 邮件 打电话
- iOS开发 邮件发送
- iOS开发之打电话,发短信,发送邮件
- iOS开发——发送邮件
- IOS开发~异常捕捉,发送邮件
- iOS开发-发送邮件及短信
- iOS开发 MFMailComposeViewController(发送邮件)的使用
- iPhone之发送附件邮件代码
- Java中抽象类和接口的区别
- Unity3d Console双击不再默认打开编辑器
- 0基础自学Android(一)
- Unity集成android插件
- 市科技局举办消防安全知识讲座
- iOS开发之邮件发送代码
- c++类中对数据成员进行初始化和赋值的区别
- 第十二周项目三摩托车继承自行车和机动车
- Linux驱动程序学习步骤经典收藏
- 会员积分规则
- OpenCV2.4.9新版本使用问题---sift,surf无法使用
- org.springframework.web.context.ContextLoaderListener
- 乘积最大
- 关于errno与perror,strerror函数