1.导入库文件:MessageUI.framework

2.引入头文件

3.实现代理<MFMailComposeViewControllerDelegate> 和 <UINavigationControllerDelegate>

@代码示例:

- (void)didClickSendEmailButtonAction{if ([MFMailComposeViewController canSendMail] == YES) {MFMailComposeViewController *mailVC = [[MFMailComposeViewController alloc] init];//  设置代理(与以往代理不同,不是"delegate",千万不能忘记呀,代理有3步)mailVC.mailComposeDelegate = self;//  收件人NSArray *sendToPerson = @[@"humingtao2014@gmail.com"];[mailVC setToRecipients:sendToPerson];//  抄送NSArray *copyToPerson = @[@"humingtao2013@126.com"];[mailVC setCcRecipients:copyToPerson];//  密送NSArray *secretToPerson = @[@"563821250@qq.com"];[mailVC setBccRecipients:secretToPerson];//  主题[mailVC setSubject:@"hello world"];[self presentViewController:mailVC animated:YES completion:nil];[mailVC setMessageBody:@"魑魅魍魉,哈哈呵呵嘿嘿霍霍" isHTML:NO];}else{NSLog(@"此设备不支持邮件发送");}}- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error{switch (result) {case MFMailComposeResultCancelled:NSLog(@"取消发送");break;case MFMailComposeResultFailed:NSLog(@"发送失败");break;case MFMailComposeResultSaved:NSLog(@"保存草稿文件");break;case MFMailComposeResultSent:NSLog(@"发送成功");break;default:break;}[self dismissViewControllerAnimated:YES completion:nil];
}//  系统发送,模拟器不支持,要用真机测试
- (void)didClickSendSystemEmailButtonAction{NSURL *url = [NSURL URLWithString:@"humingtao2014@gmail.com"];if ([[UIApplication sharedApplication] canOpenURL:url] == YES) {[[UIApplication sharedApplication] openURL:url];}else{NSLog(@"此设备不支持");}}

iOS开发之发送邮件相关推荐

  1. iOS开发之打电话,发短信,发送邮件

    iOS开发中,拨打电话的实现主要有三种方式: 直接拨号:拨打完电话之后回不到原来的应用,会停留在通讯录里面,而且是直接拨打,不弹出提示 - (void)makePhoneCall {NSMutable ...

  2. iOS开发-发送邮件及短信

    作者刘文涛 转载请注明出处 前言 在iOS开发中,有时候我们会需要用到发送邮件及短信的功能.我们还可以通过发送邮件来接收用户反馈的崩溃通知等等.我用的是iOS原生自带的MFMailComposeVie ...

  3. iOS开发中使用[[UIApplication sharedApplication] openURL:]加载其它应用

    iOS 应用程序之间(1) 在iOS开发中,经常需要调用其它App,如拨打电话.发送邮件等.UIApplication:openURL:方法是实现这一目的的最简单方法,该方法一般通过提供的url参数的 ...

  4. iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总...

    iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用系统应用.使用系统服务: ...

  5. iOS开发长文--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总

    iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用系统应用.使用系统服务: ...

  6. iOS开发第三方大全

    UI 下拉刷新 EGOTableViewPullRefresh- 最早的下拉刷新控件. SVPullToRefresh- 下拉刷新控件. MJRefresh- 仅需一行代码就可以为UITableVie ...

  7. iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook详解

    代码改变世界 Posts - 69, Articles - 0, Comments - 812 Cnblogs Dashboard Login Home Contact Gallery RSS Ken ...

  8. iOS开发之资料收集

    github排名:https://github.com/trending, github搜索:https://github.com/search. 此文章转自github:https://github ...

  9. iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总,icloudpassbook...

    --系统应用与系统服务 iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用 ...

最新文章

  1. git tag学习记录(二)
  2. TensorFlow 安装及入门
  3. 实战SSM_O2O商铺_40【前端展示】首页轮播图和一级商铺View层的实现
  4. z3 C++学习笔记
  5. HTML5的touch事件
  6. react 组件中使用组件_禁止使用React功能组件的7个理由
  7. 使用Spring Boot Operator部署SpringBoot到K8S
  8. 程序员被怼!HR:对不起,我们不招“精通Excel”的程序员
  9. node获取图片路径_Deno 正式发布,彻底弄明白和 node 的区别
  10. UE4 命令行创建Pak
  11. Matlab深度学习——安装deep learning toolbox工具箱
  12. Eclipse中文版之完美汉化教程(详细图解)
  13. python转换js_python转换Javascript
  14. 企业如何推动流程管理
  15. Vue3源码解析04--响应式核心effect
  16. 光滑曲线_高等数学八:(3)曲线积分与路径无关的条件
  17. 揣测一下未来的政策走向
  18. 软文营销推广抓住写作风格让文案不再平庸
  19. 九万字图文讲透彻 Linux 电源管理及实例分析
  20. zabbix 表结构: triggers中expression 对应的信息

热门文章

  1. 基于51单片机的16x32点阵滚动广告牌 proteus仿真原理图程序设计
  2. allocator简单实现
  3. 宝塔面板linux离线安装,宝塔linux面板搭建aria2离线下载服务器教程
  4. 《软件工程》第7章设计和实现
  5. 树模型特征重要性评估方法
  6. go实现的redis消息队列
  7. php的uniqid,PHP之uniqid()函数用法
  8. RestTemplate 发送http post请求
  9. 让梦想照进现实,vivo X20全面屏手机为何提前锁定爆款?
  10. 爬虫反爬机制及反爬策略