iOS开发之邮件发送

本文详细介绍了如何在iOS应用中使用MessageUI框架实现邮件发送功能,包括创建视图控制器、设置邮件主题、添加收件人及抄送人、设置邮件正文格式、添加附件等步骤,并提供了视图控制器的委托方法来处理邮件发送后的各种结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

一、创建视图控制器:

MFMailComposeViewController *mc = [[MFMailComposeViewController alloc] init];     
mc.mailComposeDelegate = self;  
二、设置邮件主题:

[mc setSubject:@"Hello, World!"]; 
三、设置收件人,收件人有三种:

1、设置主收件人

[mc setToRecipients:[NSArray arrayWithObjects:@"zhuqi0@126.com",     
        "@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格式

[mc setMessageBody:@"<HTML><B>Hello, Joe!</B><BR/>What do you know?</HTML>"    
       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];  
 } 
 

转载于:https://my.oschina.net/khakiloveyty/blog/396259

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值