zoukankan      html  css  js  c++  java
  • 发送系统邮件和短信

    导入系统框架:

    在需要的地方导入头文件:

    #import <MessageUI/MessageUI.h>

    然后遵守协议(邮件和信息)

    <
    MFMailComposeViewControllerDelegate, 
    MFMessageComposeViewControllerDelegate
    >

    创建2个按钮:(发送邮件和信息)

    UIButton *emailBtn = [UIButton buttonWithType:UIButtonTypeCustom];
        emailBtn.frame = CGRectMake(100, 100, 100, 100);
        emailBtn.backgroundColor = [UIColor purpleColor];
        [self.view addSubview:emailBtn];
        
        [emailBtn addTarget:self action:@selector(emailButtonAction:) forControlEvents:UIControlEventTouchUpInside];
        
        
        UIButton *msgBtn = [UIButton buttonWithType:UIButtonTypeCustom];
        msgBtn.frame = CGRectMake(100, 300, 100, 100);
        msgBtn.backgroundColor = [UIColor purpleColor];
        [self.view addSubview:msgBtn];
        
        [msgBtn addTarget:self action:@selector(msgButtonAction:) forControlEvents:UIControlEventTouchUpInside];
        

    按钮实现方法如下:

    #pragma mark -- 发送邮件按钮实现方法
    - (void)emailButtonAction:(UIButton *) sender {
        // 判断是否可以发送邮件
        if ([MFMailComposeViewController canSendMail]) {
            // 创建邮件视图控制器
            MFMailComposeViewController *picker =[[MFMailComposeViewController alloc] init];
            picker.mailComposeDelegate = self; // 设置代理
            [picker setSubject:@"haha"]; // 设置主题
            [picker setToRecipients:@[@"898@qq.com"]]; // 设置收件人 可以多人发送
            [picker setCcRecipients:@[@"794@qq.com"]]; // 设置抄送对象 同样可以多人发送
            [picker setMessageBody:@"哈哈哈哈哈" isHTML:YES]; // 设置发送的内容
            // 推出视图
            [self presentViewController:picker animated:YES completion:nil];
            
        } else {
            NSLog(@"无法发送短信");
        }
    }
    #pragma mark -- 实现邮件协议方法
    - (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error {
        // 判断发送状态
        switch (result) {
            case MFMailComposeResultCancelled:
                NSLog(@"取消发送");
                break;
            case MFMailComposeResultFailed:
                NSLog(@"邮件发送失败");
                NSLog(@"错误信息:%@", error);
                break;
            case MFMailComposeResultSaved:
                NSLog(@"邮件保存");
                break;
            case MFMailComposeResultSent:
                NSLog(@"邮件发送成功");
                break;
            default:
                break;
        }
        [self dismissViewControllerAnimated:YES completion:nil];
    }
    #pragma mark -- 发送信息按钮实现方法
    - (void)msgButtonAction:(UIButton *) sender {
        // 判断是否可以发送短信
        if ([MFMessageComposeViewController canSendText]) {
            // 可以发送短信
            // 创建短信视图控制器
            MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc] init];
            picker.messageComposeDelegate = self; // 设置代理
            picker.recipients = @[@"183310000747"]; // 设置收信人 收件人是个数组,所有我们可以实现群发
            picker.body = @"这是一条短信息"; // 设置信息内容
            // 打开短信功能
            [picker presentViewController:picker animated:YES completion:nil];
            
        } else {
            NSLog(@"不可以发送短信");
        }
    }
    #pragma mark - MFMessageComposeViewControllerDelegate Methods
    - (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];
    }

    OK......

  • 相关阅读:
    天才难过四级关
    肉鸟一只
    继续折腾mac。os(没进展)
    Intel(R) ICH9M LPC Interface Controller 2919驱动安装方法
    nusoap的使用
    STL HASH_MAP简单应用
    jQuery select操作控制方法小结
    unordered_map详解
    STL map与Boost unordered_map
    [C/C++]关于C++11中的std::move和std::forward
  • 原文地址:https://www.cnblogs.com/LzwBlog/p/5768414.html
Copyright © 2011-2022 走看看