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

发送邮件
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 = @[@"[email protected]"];
        [mailVC setToRecipients:sendToPerson];
        //  抄送
        NSArray *copyToPerson = @[@"[email protected]"];
        [mailVC setCcRecipients:copyToPerson];
        //  密送
        NSArray *secretToPerson = @[@"[email protected]"];
        [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:@"[email protected]"];
    if ([[UIApplication sharedApplication] canOpenURL:url] == YES) {  

        [[UIApplication sharedApplication] openURL:url];  

    }else{  

        NSLog(@"此设备不支持");
    }  

} 

发送短信
前面三步引入配置和邮件发送一样

//  调用系统API发送短信
- (void)didClickSendMessageButtonAction{  

    if ([MFMessageComposeViewController canSendText] == YES) {  

        MFMessageComposeViewController *messageVC = [[MFMessageComposeViewController alloc] init];
        //  设置代理<MFMessageComposeViewControllerDelegate>
        messageVC.messageComposeDelegate = self;
        //  发送To Who
        messageVC.recipients = @[@"18757289870"];
        messageVC.body = @"hello world";
        [self presentViewController:messageVC animated:YES completion:nil];  

    }else{  

        NSLog(@"此设备不支持");
    }
}  

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result{  

    switch (result) {
        case MessageComposeResultCancelled:
            NSLog(@"取消发送");
            break;
        case MessageComposeResultFailed:
            NSLog(@"发送失败");
            break;
        case MessageComposeResultSent:
            NSLog(@"发送成功");
            break;
        default:
            break;
    }  

    [self dismissViewControllerAnimated:YES completion:nil];  

}  

//  调用系统应用程序发送消息
- (void)didClickSendMessage2ButtonAction{  

    NSURL *url = [NSURL URLWithString:@"sms:18656348970"];
    if ([[UIApplication sharedApplication] canOpenURL:url] == YES) {  

        [[UIApplication sharedApplication] openURL:url];  

    }else{  

        NSLog(@"失败");
    }  

} 
时间: 2024-10-08 05:52:34

iOS:实现邮件和短信发送的简单示例的相关文章

iOS使用邮件、短信分享回调报错UIApplicationInvalidInterfaceOrientation

iOS中使用系统的邮件.短信分享之后,如果该页面是禁止转屏的,那么可能不会出现问题,如果是设置为允许转屏,那么如果你的- (NSUInteger)supportedInterfaceOrientations方法返回值不是UIInterfaceOrientationMaskAll,那么可能会报Terminating app due to uncaught exception 'UIApplicationInvalidInterfaceOrientation', reason: 'preferred

使用gearman进行异步的邮件或短信发送

一.准备工作 1.为了防止,处理业务途中出现的宕机,请配置好gearman的持久化方式.2.使用gearmanManager来管理我们的worker脚本,方便测试. 上述两条请看我之前写的两篇文章 二.编写测试脚本 sendEmail.php代码如下: <?php //注意函数名与文件名相同 function sendEmail($job) { $workId = uniqid(); //workload()获取客户端发送来的序列化数据 $data = json_decode($job->wo

iOS打电话、发短信、发邮件功能

以下为学习过程中在网上查到的方法, 实现打电话的功能,主要二种方法,下面我就分别说说它们的优缺点. 1.1.发短信(1)——URL // 直接拨号,拨号完成后会停留在通话记录中 1.方法: NSURL *url = [NSURL URLWithString:@"sms://10010"]; [[UIApplication sharedApplication] openURL:url]; 2.优点: –简单 3.缺点: –不能指定短信内容,而且不能自动回到原应用 1.2发短信(2)——M

iOS打电话、发短信、发邮件功能开发

本文转载至 http://www.lvtao.net/ios/506.html 今天把APP里常用小功能 例如发短信.发邮件.打电话.全部拿出来简单说说它们的实现思路. 1.发短信实现打电话的功能,主要二种方法,下面我就分别说说它们的优缺点.1.1.发短信(1)——URL // 直接拨号,拨号完成后会停留在通话记录中1.方法: NSURL *url = [NSURL URLWithString:@"sms://10010"]; [[UIApplication sharedApplica

跟阿根一起学Java Web开发四:邮件发送与短信发送的实现

邮件发送与短信发送常见于用户注册认证以及系统消息提示功能模块,但实现代码过于繁琐:使用JSPGen后,深感其对邮件发送.短信发送的封装让复杂活变得简单很多. 一.基础配置 1.jspgen-config.xml 在框架基础配置文件中,找到mail节点及sms节点,按如下配置: <!-- 邮件服务 --> <mail status="true"> <smtp> <!-- 发送类型(SMTP MX) --> <type>SMTP&

C# 短信发送 邮件发送

兴趣是最好的老师. --爱因斯坦 一.实现短信发送 1.使用短信mao的方式进行短信发送,前提要购买硬件设备,这里就不考虑展示了: 2.使用中国网建提供的短信平台,但是用几次后要收费: 我们这里主要介绍第二种方式实现短信发送,在网上(http://sms.webchinese.cn/)注册账号(注意密码不是短信密钥需自行获取),具体实现,可以参考SMS短信通API下行接口(http://sms.webchinese.cn/api.shtml),多种语言实现例子都有,笔者这里用C#实现 下面是代码

iOS基本的发短信和打电话调用

电话.短信是手机的基础功能,iOS中提供了接口,让我们调用.这篇文章简单的介绍一下iOS的打电话.发短信在程序中怎么调用. 1.打电话 [cpp] view plain copy print? [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://10010"]];//打电话 使用openURL这个API打电话结束后,返回的是系统的拨打电话界面,如何才能返回自己的应用呢?有两种方法与大家分享. 第

zabbix安装+邮件(短信)报警

zabbix安装+邮件(短信)报警 一.zabbix的安装 安装开发软件包 1.yum  -ygroupinstall  "DevelopmentTools" 2.安装所需的依赖包 yum -y install httpd mysqlmysql-server mysql-devel php php-mysql php-common php-mbstring php-gd php-odbcphp-pear php-bcmath.x86_64 curl curl-devel net-snm

远程短信发送功能

远程短信发送功能 拓波短信服务器(Smsserver)用于支持Turbomail 邮件服务器进行远程发送短信,当邮件服务器和短信猫分别 部署在不同的机器上,邮件服务器就需要通过短信服务器进行短信发送. 安装配置短信服务器(Smsserver)步骤: 安装短信服务器. Windows 安装方法: 解压 smsserver.zip 到C:或D:根目录即完成安装. Linux 安装方法: 执行 tar –vzxf smsserver.tgz 解压 smsserver.tgz 到根目录即完成安装. 配置