调用iOS自带邮件

需要导入<MessageUI/MessageUI.h>框架
/* 发送邮件 */
- (IBAction)email:(id)sender {
    
    if (NO == [MFMailComposeViewController canSendMail]) {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"友情提示" message:@"您还未配置邮箱账户,是否现在跳转配置?" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
        [alert show];
        return;
    }
    
    // 如果没有配置邮箱的话,创建出来的对象为nil,弹出会crash
    MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
    
    // 设置picker的委托方法,完成之后会自动调用成功或失败的方法
    picker.mailComposeDelegate = self;
    // 添加主题
    [picker setSubject:@"案件报告"];
    // 添加收件人
    NSArray *toRecipients = [NSArray arrayWithObject:@"404401637@163.com"];
    
    // 添加抄送
    NSArray *ccRecipients = [NSArray arrayWithObjects:@"second@qq.com",@"third@qq.com", nil];
    // 添加密送
    NSArray *bccRecipients = [NSArray arrayWithObject:@"fourth@qq.com"];
    
    [picker setToRecipients:toRecipients];
    [picker setCcRecipients:ccRecipients];
    [picker setBccRecipients:bccRecipients];
    
    // 拼接邮件body默认显示的信息
    NSString *emailBody = [NSString stringWithFormat:@"分享自:腾讯扣扣.诉讼报告.app\n<img src='http://static.588ku.com/imgPath/public/images/ku-logoNewV1.png' /><p>我转载的图片</p>"];
    [picker setMessageBody:emailBody isHTML:YES];
    
    // 添加word文档附件
    NSString *path = [[NSBundle mainBundle] pathForResource:@"诉讼报告-2018.docx" ofType:nil];
    NSData *docData = [NSData dataWithContentsOfFile:path];
    [picker addAttachmentData:docData mimeType:@"application/msword" fileName:@"诉讼报告-2018.docx"];
    
    // 添加图片附件
    NSData *myData = UIImageJPEGRepresentation([UIImage imageNamed:@"header_cry_icon"], 1.0);
    [picker addAttachmentData:myData mimeType:@"image/jpeg" fileName:@"new.png"];
    
    
    [self presentViewController:picker animated:YES completion:nil];
    
}

- (void)mailComposeController:(MFMailComposeViewController*)controller
          didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
{
    switch (result)
    {
        case MFMailComposeResultCancelled:
            NSLog(@"邮件发送取消");  // 邮件发送取消
            break;
        case MFMailComposeResultSaved:
            NSLog(@"邮件保存成功");  // 邮件保存成功
            break;
        case MFMailComposeResultSent:
            NSLog(@"邮件发送成功");  // 邮件发送成功
            break;
        case MFMailComposeResultFailed:
            NSLog(@"邮件发送失败");  // 邮件发送失败
            break;
        default:
            NSLog(@"邮件未发送");
            break;
    }
    
    [controller dismissViewControllerAnimated:YES completion:nil];
}

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
    if (buttonIndex == 1) {
        // 跳到邮箱去
        NSURL *url = [NSURL URLWithString:@"mailto://"];
        if ([[UIApplication sharedApplication] canOpenURL:url]) {
            [[UIApplication sharedApplication] openURL:url];
        }
    }
}

  • 其他附件配置
    /* 发送图片附件 */
    NSString *path = [[NSBundle mainBundle] pathForResource:@"rainy" ofType:@"jpg"];
    NSData *myData = [NSData dataWithContentsOfFile:path];
    [picker addAttachmentData:myData mimeType:@"image/jpeg" fileName:@"rainy.jpg"];
    
    /* 发送txt文本附件 */
    NSString *path = [[NSBundle mainBundle] pathForResource:@"MyText" ofType:@"txt"];
    NSData *myData = [NSData dataWithContentsOfFile:path];
    [picker addAttachmentData:myData mimeType:@"text/txt" fileName:@"MyText.txt"];
    
    /* 发送doc文本附件 */
    NSString *path = [[NSBundle mainBundle] pathForResource:@"MyText" ofType:@"doc"];
    NSData *myData = [NSData dataWithContentsOfFile:path];
    [picker addAttachmentData:myData mimeType:@"text/doc" fileName:@"MyText.doc"];
    
     /* 发送pdf文档附件 */
     NSString *path = [[NSBundlemainBundle]pathForResource:@"CodeSigningGuide"ofType:@"pdf"];
     NSData *myData = [NSDatadataWithContentsOfFile:path];
     [pickeraddAttachmentData:myDatamimeType:@"file/pdf"fileName:@"rainy.pdf"];

==配置iOS自带邮件账号注意==

  • 如果没有配置邮箱账号直接跳到邮箱会崩溃,所以要处理下
  • 账号里面的IMAP、SMTP的密码,不是指邮箱的密码,是第三方邮箱配置授权码,需要到对应的邮箱管理置平台去获取
  • 跳转系统邮箱前可以配置一些收件人、抄送人等信息,但是要确保所有收件人的邮箱地址可用,不然会导致这封邮件发不出去,所有人都收不到,这个跟网页上操作不一样,网页上是会全发出去,没收到就没收到
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容