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

 #import "RPViewController.h"

 //添加邮件头文件
#import <MessageUI/MFMailComposeViewController.h> @interface RPViewController () <MFMailComposeViewControllerDelegate> @end @implementation RPViewController - (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
} - (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
} - (IBAction)click:(id)sender {
if ([MFMailComposeViewController canSendMail]) {
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self; //在这里可以设定邮件的默认标题/内容,也可以设置收件人等
[picker setSubject:@"标题"];
NSString *emailBody = @"邮件内容"; [picker setMessageBody:emailBody isHTML:NO];
[self presentViewController:picker animated:YES completion:nil];
// [picker release];
}
else {
//无法发送邮件,在这里给用户提示
}
} #pragma mark 邮件代理方法
- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error {
switch (result) {
case MFMailComposeResultCancelled:
//取消发送
break;
case MFMailComposeResultSaved:
//保存草稿
break;
case MFMailComposeResultSent:
//发送成功
break;
case MFMailComposeResultFailed:
//发送失败
break;
default:
break;
} [self dismissViewControllerAnimated:YES completion:nil];
} @end

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

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

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

     if ([MFMessageComposeViewController canSendText]) {
MFMessageComposeViewController *message = [[MFMessageComposeViewController alloc] init];
message.messageComposeDelegate = self; message.recipients = @[@"电话号码"];
message.body = @"内容"; [self presentViewController:message animated:YES completion:nil];
}

在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. Oracle 11g R2安装手册(图文教程)For Windows

    1.Oracle 11g R2安装手册(图文教程)For Windows 1.下载Oracle 11g R2 for Windows版本,下载地址如下 官方网站: http://download.or ...

  2. network-manager与interfaces冲突

    网络配置的两种方式 Ubuntu下修改网络配置有两种方式:图形界面方式(network-manager)和修改/etc/network/interfaces 但是如果两种方式的网络设置不同,就会产生冲 ...

  3. Cortex-M3和Cortex-M4 Fault异常应用之二 ----- Fault处理函数的实现

    在项目处于调试期间,Fault处理程序可能只是一个断点指令,调试器遇到这个指令后停止程序的运行.默认情况下,由于非硬Fault被禁能,所有发生的非Fault都会上访成硬Fault,因此只要在硬Faul ...

  4. Windows Azure 社区新闻综述(#68 版)

    欢迎查看最新版本的每周综述,其中包含有关云计算和 Windows Azure 的社区推动新闻.内容和对话. 以下是过去一周基于您的反馈汇集在一起的内容: 文章.视频和博客文章 在 Windows Az ...

  5. JSTL标签急速秒杀jsp页面中的java代码(一)---Core标签库

    JSTL标签简介 ===================================================================== JSTL的全称是JavaServer Pa ...

  6. oracle转换数字到格式化字符串

    问题描写叙述 oracle假设存储number(20,2)数据,0数据库中为0.00,2.1数据库中为2.10,3.88存储为3.88, 假设直接从数据库中取出相应显示为: 0 2.1 3.88 保留 ...

  7. mount CIFS return ERR -12 and report Cannot allocate memory

    When I mount CIFS on board, it encountered error as below: # mount -t cifs //192.168.1.28/98share /t ...

  8. 兔子--Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK

    错误原因: Activity打开别的Activity的时候会默认把新的Activity放到自己的task中,所以不用指定,可是别的地方就得指定了. 解决的方法:intent.addFlags(Inte ...

  9. DevExpress中ChartControl柱状图(Bar)用法

    我的数据 代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 chartControl1.Series.Clear(); ...

  10. Java基础学习笔记2

    运算符: 重点:++和--运算符; a++ (a--):表示先将a的原值带入计算,计算完毕后,再将a的值进行+1(-1); ++a (--a):先将a的值进行+1(-1)运算,然后将+1(-1)以后的 ...