解析iOS開發之郵件發送代碼
iOS開發之郵件發送代碼是本文要介紹的內容,郵件發送功能是由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];
- }
小結:解析iOS開發之郵件發送代碼的內容介紹完了,希望本文對你有所幫助!