iOS实现发送电子邮件的方法很简单,首先导入MessageUI.framework框架,然后代码如下:

  1. #import "RPViewController.h"
  2.  
  3. //添加邮件头文件
  4. #import <MessageUI/MFMailComposeViewController.h>
  5.  
  6. @interface RPViewController () <MFMailComposeViewControllerDelegate>
  7.  
  8. @end
  9.  
  10. @implementation RPViewController
  11.  
  12. - (void)viewDidLoad
  13. {
  14. [super viewDidLoad];
  15. // Do any additional setup after loading the view, typically from a nib.
  16. }
  17.  
  18. - (void)didReceiveMemoryWarning
  19. {
  20. [super didReceiveMemoryWarning];
  21. // Dispose of any resources that can be recreated.
  22. }
  23.  
  24. - (IBAction)click:(id)sender {
  25. if ([MFMailComposeViewController canSendMail]) {
  26. MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
  27. picker.mailComposeDelegate = self;
  28.  
  29. //在这里可以设定邮件的默认标题/内容,也可以设置收件人等
  30. [picker setSubject:@"标题"];
  31. NSString *emailBody = @"邮件内容";
  32.  
  33. [picker setMessageBody:emailBody isHTML:NO];
  34. [self presentViewController:picker animated:YES completion:nil];
  35. // [picker release];
  36. }
  37. else {
  38. //无法发送邮件,在这里给用户提示
  39. }
  40. }
  41.  
  42. #pragma mark 邮件代理方法
  43. - (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error {
  44. switch (result) {
  45. case MFMailComposeResultCancelled:
  46. //取消发送
  47. break;
  48. case MFMailComposeResultSaved:
  49. //保存草稿
  50. break;
  51. case MFMailComposeResultSent:
  52. //发送成功
  53. break;
  54. case MFMailComposeResultFailed:
  55. //发送失败
  56. break;
  57. default:
  58. break;
  59. }
  60.  
  61. [self dismissViewControllerAnimated:YES completion:nil];
  62. }
  63.  
  64. @end

首先导入邮件的头文件,之后创建一个发送邮件用的控制器,设置默认参数,然后弹出这个控制器。

令当前控制器充当邮件控制器的代理,这样一来在邮件相关事件执行之后,就能给出一些用户提示了,也要在这里收起邮件视图。

发短信的道理完全一样,只是控制器换成了MFMessageComposeViewController,代理换成了MFMessageComposeViewControllerDelegate,配置代码如下:

  1. if ([MFMessageComposeViewController canSendText]) {
  2. MFMessageComposeViewController *message = [[MFMessageComposeViewController alloc] init];
  3. message.messageComposeDelegate = self;
  4.  
  5. message.recipients = @[@"电话号码"];
  6. message.body = @"内容";
  7.  
  8. [self presentViewController:message animated:YES completion:nil];
  9. }

在iOS当中发送电子邮件和短信的更多相关文章

  1. [系统集成] RT(Request Tracker)执行自定义脚本及发送微信、短信的实现方法

    RT(Request Tracker)是一个基于 Perl 语言的开源状态跟踪和工作流系统,支持审批.权限管理等功能,中文化支持的也不错,可以作为企业的流程审批系统使用.可惜的是,该系统在国内使用的不 ...

  2. android基础---->发送和接收短信

    收发短信应该是每个手机最基本的功能之一了,即使是许多年前的老手机也都会具备这项功能,而Android 作为出色的智能手机操作系统,自然也少不了在这方面的支持.今天我们开始自己创建一个简单的发送和接收短 ...

  3. Aps.Net Core3.1 WebApi发送阿里云短信验证码

    1.前言 转眼又要过了一年了 好久没写博客了,人不学就要落后,今天有时间把以前弄的发送阿里云短信验证码登录记录一下. 2.准备条件 1)去阿里云官网注册一个账号.有账号直接登录就行,以前新人好像有免费 ...

  4. iOS:实现邮件和短信发送的简单示例

    发送邮件1.导入库文件:MessageUI.framework2.引入头文件3.实现代理<MFMailComposeViewControllerDelegate> 和 <UINavi ...

  5. [Abp vNext 源码分析] - 20. 电子邮件与短信支持

    一.简介 ABP vNext 使用 Volo.Abp.Sms 包和 Volo.Abp.Emailing 包将短信和电子邮件作为基础设施进行了抽象,开发人员仅需要在使用的时候注入 ISmsSender ...

  6. iOS开发中打电话发短信等功能的实现

    在APP开发中,可能会涉及到打电话.发短信.发邮件等功能.比如说,通常一个产品的"关于"页面,会有开发者的联系方式,理想情况下,当用户点击该电话号码时,能够自动的帮用户拨出去,就涉 ...

  7. IOS 掉用系统发短信

    #import <MessageUI/MessageUI.h> MFMessageComposeViewControllerDelegate #pragma mark - 调用ios系统短 ...

  8. 初探JS-html5移动端发送指定内容短信到指定号码

    原理:利用a标签跳转指定网址: sms://[号码]?body=[内容] //安卓 sms://[号码]&body=[内容] //IOS 首先简单的做两个input,一个用于输入内容,一个用于 ...

  9. 短信平台软件开发,短信发送平台销售,短信软件源码,G客短信发送平台

    一:web短信平台组成  需要短信软件平台源码的联系QQ:290615413 vx:290615413  整套短信系统平台还是由B/S(客户端+后台,取消了以前C/S的管理后台) ,C/S发送服务端和 ...

随机推荐

  1. 打造坚固的安全的Linux服务器(ssh登录篇)

      Nov 3 01:22:06 server sshd[11879]: Failed password for root from 123.127.5.131 port 38917 ssh2Nov ...

  2. gulp api

    gulp api 简介 gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:它不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成 gulp是基于Nod ...

  3. WPF学习:绑定

    原文 http://www.cnblogs.com/SouthAurora/archive/2010/06/30/1768464.html 一.绑定到元素对象 1.元素和元素(XAML.代码) 1.1 ...

  4. 关于Qt的灵异错误

    今天用Qt编写了一个小程序,在运行的时候会报如下错误: ******SgAppenderImpl::SetImeSdkVer_begin ******SgAppenderImpl::SetImeSdk ...

  5. Spring、Hello AOP

    AOP 概念:http://blog.csdn.net/moreevan/article/details/11977115 AOP 所使用到的jar 包: aspectjrt.jar common-a ...

  6. auto, extern, register, static

    对于一个数据的定义,需要指定2中属性: 存储类型和数据类型: static int a; auto char c; register int d; 1 auto 2 extern 3 register ...

  7. 全国计算机等级考试二级教程-C语言程序设计_第10章_字符串

    字符型指针数组 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> //参数中,int a ...

  8. The Unique MST (判断是否存在多个最小生成树)

    The Unique MST                                                                        Time Limit: 10 ...

  9. Python 随即生成DAG(有向无环图)

    给校队选拔赛出了道DAG上的背包问题,需要生成DAG数据. 最开始使用的方法是先随机生成再判环,如果有环就重新生成.这种方法得到DAG的概率随着点数和边数的增加而急速降低,为了一个DAG要生成很多次, ...

  10. [置顶] java web 动态服务器

    写了一个java web 动态服务器,主要通过内部类来实现,动态类使用了外部类,采用了 classforname 实例化,动态类的构造方法不能带参数, 效果都出来了,分享给有需要的 朋友.判断做的不够 ...