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 = @[@"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(@"此设备不支持");  
    }  
  
} 
复制代码

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

复制代码
//  调用系统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(@"失败");  
    }  
  
} 
复制代码

 

程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式!
本文转自当天真遇到现实博客园博客,原文链接:http://www.cnblogs.com/XYQ-208910/p/5127992.html ,如需转载请自行联系原作者
相关文章
|
7月前
|
Linux Perl
Nagios 邮件及短信报警
Nagios可通过139邮箱实现短信报警:配置Nagios向139邮箱发送信息,再由139自动转发至绑定手机。也可用短信猫设备。需修改`contacts.cfg`文件设置邮件收件人为139邮箱地址。Kickstart结合PXE等技术实现Linux系统的自动化安装,大幅减少手动安装的时间,适用于需要统一版本的大规模部署场景。配置涉及DHCP、TFTP等服务安装与设置。
67 0
|
安全 数据安全/隐私保护 iOS开发
iOS小技能:【发红包】使用tweak和lua脚本结合进行实现
我们开发的大部分越狱程序,都是编译成动态链接库(`例如:介绍的越狱程序(Tweak)开发,就是动态链接库。`),然后通过越狱平台的MobileSubstrate(iOS7上叫CydiaSubstrate)来加载进入目标程序(Target),通过对目标程序的挂钩(Hook),来实现相应的功能。
376 0
|
Cloud Native 安全 Java
构建高性能云原生应用:使用Golang的实践指南(邮件/短信发送、人脸识别、云点播、云直播项目)
构建高性能云原生应用:使用Golang的实践指南(邮件/短信发送、人脸识别、云点播、云直播项目)
|
Android开发 iOS开发
iOS开发 - 商品详情页两种分页模式,只提供思路和实现方式。
iOS开发 - 商品详情页两种分页模式,只提供思路和实现方式。
457 0
iOS开发 - 商品详情页两种分页模式,只提供思路和实现方式。
|
存储 安全 iOS开发
iOS开发 - 继udid,Mac地址等一系列唯一标识无效后,如何用KeyChain来实现设备唯一性
iOS开发 - 继udid,Mac地址等一系列唯一标识无效后,如何用KeyChain来实现设备唯一性
566 0
iOS开发 - 继udid,Mac地址等一系列唯一标识无效后,如何用KeyChain来实现设备唯一性
|
Swift 数据安全/隐私保护 iOS开发
iOS开发 - swift通过Alamofire实现https通信
iOS开发 - swift通过Alamofire实现https通信
488 0
iOS开发 - swift通过Alamofire实现https通信
|
开发者 iOS开发
iOS开发 - 用AFNetworking实现https单向验证,双向验证
iOS开发 - 用AFNetworking实现https单向验证,双向验证
488 0
iOS开发 - 用AFNetworking实现https单向验证,双向验证
|
iOS开发
iOS小技能:自动布局实现兄弟控件N等分且宽高比例是1:N(xib 上实现)
本文为 iOS视图约束专题的第三篇:xib上使用自动布局教程
248 0
|
Linux iOS开发 开发者
实现在windows、linux下上传ios app到App Store
实现在windows、linux下上传ios app到App Store
实现在windows、linux下上传ios app到App Store
|
Java 图形学 Android开发
Android/iOS内嵌Unity开发示例
Android/iOS内嵌Unity开发示例
593 0
Android/iOS内嵌Unity开发示例
下一篇
oss创建bucket