解析iOS開發之郵件發送代碼

來源:互聯網
上載者:User

iOS開發郵件發送代碼是本文要介紹的內容,郵件發送功能是由MessageUI Framework提供的,這個架構是iPhone SDK中最簡單的框。由一個類、一個視圖控制器,一個protocol組成。

一、建立視圖控制器:

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

二、設定郵件主題:

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

三、設定收件者,收件者有三種:

1、設定主收件者

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

2、設定cc

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

3、設定bcc

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

四、設定郵件主體,有兩種格式。

一種是純文字

 
  1. [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,一個附件的名稱。

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

六、視圖呈現

 
  1. [self presentModalViewController:mc animated:YES];   
  2. [mc release]; 

七、視圖控制器的委託方法

郵件視圖控制器的委託方法包含在MFMailComposeViewControllerDelegate中,無論使用者是否發送或取消發送,不論系統是否能夠實現郵件發送

方法 mailComposeController:didFinishWithResult:error: gets called都會被調用。

 
  1. - (void)mailComposeController:(MFMailComposeViewController*)controller            
  2. didFinishWithResult:(MFMailComposeResult)result            
  3.                      error:(NSError*)error   
  4.  {        
  5.  switch (result){           
  6.  case MFMailComposeResultCancelled:  NSLog(@"Mail send canceled...");               
  7.          break;          
  8.   case MFMailComposeResultSaved:    NSLog(@"Mail saved...");              
  9.         break;           
  10.         case MFMailComposeResultSent:             NSLog(@"Mail sent...");               
  11.         break;           
  12.         case MFMailComposeResultFailed:  NSLog(@"Mail send errored: %@...", [error localizedDescription]);     
  13.        break;           
  14.      default:             break;  
  15.  }   
  16. [self dismissModalViewControllerAnimated:YES];  
  17.  } 

小結:解析iOS開發郵件發送代碼的內容介紹完了,希望本文對你有所協助!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.