iOS开发之邮件发送代码
邮件发送功能是由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];
}
(全文完)
以下为广告部分
您部署的HTTPS网站安全吗?
如果您想看下您的网站HTTPS部署的是否安全,花1分钟时间来 myssl.com 检测以下吧。让您的HTTPS网站变得更安全!
快速了解HTTPS网站安全情况。
安全评级(A+、A、A-...)、行业合规检测、证书信息查看、证书链信息以及补完、服务器套件信息、证书兼容性检测等。
安装部署SSL证书变得更方便。
SSL证书内容查看、SSL证书格式转换、CSR在线生成、SSL私钥加解密、CAA检测等。
让服务器远离SSL证书漏洞侵扰
TLS ROBOT漏洞检测、心血漏洞检测、FREAK Attack漏洞检测、SSL Poodle漏洞检测、CCS注入漏洞检测。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
2010-07-21 记Visual Studio 2010一次令人崩溃的经历