iOS开发之邮件发送代码

举报
清雨小竹 发表于 2022/09/25 00:52:37 2022/09/25
【摘要】 邮件发送功能是由MessageUI Framework提供的,这个框架是iPhone sdk中最简单的框。由一个类、一个视图控制器,一个protocol组成。 一、创建视图控制器: MFMailComposeViewController *mc = [[MFMailComposeViewController alloc] ...

邮件发送功能是由MessageUI Framework提供的,这个框架是iPhone sdk中最简单的框。由一个类、一个视图控制器,一个protocol组成。

一、创建视图控制器:


   
  1. MFMailComposeViewController *mc = [[MFMailComposeViewController alloc] init];
  2. mc.mailComposeDelegate = self;

二、设置邮件主题:

 [mc setSubject:@"Hello, World!"];

三、设置收件人,收件人有三种:

1、设置主收件人


   
  1. [mc setToRecipients:[NSArray arrayWithObjects:@"zhuqi0@126.com",
  2. "@dave@iphonedevbook.com", nil];

2、设置cc

 [mc setCcRecipients:[NSArray arrayWithObject:@"zhuqil@163.com"]];

3、设置bcc

[mc setBccRecipients:[NSArray arrayWithObject:@"secret@gmail.com"]]; 

四、设置邮件主体,有两种格式。

一种是纯文本

  [mc setMessageBody:@"Watson!!!\n\nCome here, I need you!" isHTML:NO]; 

一个是html格式


   
  1. [mc setMessageBody:@"<HTML><B>Hello, Joe!</B><BR/>What do you know?</HTML>"
  2. isHTML:YES];

五、添加附件

添加附件需要三个参数,一个是NSData类型的附件,一个是mime type,一个附件的名称。

  NSString *path = [[NSBundle mainBundle] pathForResource:@"blood_orange"      
ofType:
@"png"];
NSData
*data = [NSData dataWithContentsOfFile:path];
[mc addAttachmentData:data mimeType:
@"image/png" fileName:@"blood_orange"];

六、视图呈现

    [self presentModalViewController:mc animated:YES]; 
[mc release];

七、视图控制器的委托方法

邮件视图控制器的委托方法包含在MFMailComposeViewControllerDelegate中,无论用户是否发送或取消发送,不论系统是否能够发送邮件,

方法 mailComposeController:didFinishWithResult:error: gets called都会被调用。

复制代码
- (void)mailComposeController:(MFMailComposeViewController*)controller  
didFinishWithResult:(MFMailComposeResult)result
error:(NSError
*)error {
switch (result)
{
case MFMailComposeResultCancelled:
NSLog(
@"Mail send canceled...");
break;
case MFMailComposeResultSaved:
NSLog(
@"Mail saved...");
break;
case MFMailComposeResultSent:
NSLog(
@"Mail sent...");
break;
case MFMailComposeResultFailed:
NSLog(
@"Mail send errored: %@...", [error localizedDescription]);
break;
default:
break;
}
[self dismissModalViewControllerAnimated:YES];
}
复制代码

文章来源: zzzili.blog.csdn.net,作者:清雨小竹,版权归原作者所有,如需转载,请联系作者。

原文链接:zzzili.blog.csdn.net/article/details/8979135

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。