• 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(@"失败");  
        }  
      
    } 
  • 相关阅读:
    编译资源收集
    volatile和synchronized到底啥区别?多图文讲解告诉你
    沙雕与大婶 | Mock掉你的外部依赖吧
    全网最详细的一篇Flutter 尺寸限制类容器总结
    一篇带你看懂Flutter叠加组件Stack
    【MySQL】:事务四大特性与隔离级别
    Dubbo 入门-细说分布式与集群
    Java 线程基础知识
    SpringBoot图文教程9—SpringBoot 导入导出 Excel 「Apache Poi」
    搭建博客、自己的小窝?快来看看这些开源静态网站生成器
  • 原文地址:https://www.cnblogs.com/XYQ-208910/p/5127992.html
Copyright © 2020-2023  润新知