亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

IOS 開發中發送e-mail的幾種方法總結

2020-07-26 02:53:34
字體:
來源:轉載
供稿:網友

iOS系統框架提供的兩種發送Email的方法      

1、使用openURL來實現發郵件的功能:   

NSString *url = [NSString stringWithString: @"mailto:foo@example.com?cc=bar@example.com&subject=Greetings%20from%20Cupertino!&body=Wish%20you%20were%20here!"]; [[UIApplication sharedApplication] openURL: [NSURL URLWithString: url]]; 

缺點很明顯,這樣的過程會導致程序暫時退出,即使在iOS 4.x支持多任務的情況下,這樣的過程還是會讓人覺得不是很便。   

2、使用MFMailComposeViewController來實現發郵件的功能,它在MessageUI.framework中,你需要在項目中加入該框架,并在使用的文件中導入MFMailComposeViewController.h頭文件。 

#import <MessageUI/MFMailComposeViewController.h>;  MFMailComposeViewController* controller = [[MFMailComposeViewController alloc] init]; controller.mailComposeDelegate = self; [controller setSubject:@"My Subject"]; [controller setMessageBody:@"Hello there." isHTML:NO]; [self presentModalViewController:controller animated:YES]; [controller release]; //使用該方法實現發送Email是最常規的方法,該方法有相應的MFMailComposeViewControllerDelegate事件:  - (void)mailComposeController:(MFMailComposeViewController*)controller    didFinishWithResult:(MFMailComposeResult)result       error:(NSError*)error; {  if (result == MFMailComposeResultSent) {  NSLog(@"It's away!");  }  [self dismissModalViewControllerAnimated:YES]; } //有一些相關的數據結構的定義在頭文件中都有具體的描述:  enum MFMailComposeResult {  MFMailComposeResultCancelled,//用戶取消編輯郵件  MFMailComposeResultSaved,//用戶成功保存郵件  MFMailComposeResultSent,//用戶點擊發送,將郵件放到隊列中  MFMailComposeResultFailed//用戶試圖保存或者發送郵件失敗 }; typedef enum MFMailComposeResult MFMailComposeResult; // iOS3.0以上有效 //在頭文件中MFMailComposeViewController的部分方法順便提及:  + (BOOL)canSendMail __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0); //如果用戶沒有設置郵件賬戶,則會返回NO,你可以用根據返回值來決定是使用MFMailComposeViewController 還是 mailto://的傳統方法,也或者,你可以選擇上文中提到的skpsmtpmessage來實現發送Email的功能。 - (void)addAttachmentData:(NSData *)attachment mimeType:(NSString *)mimeType fileName:(NSString *)filename; //NSData類型的attachment自然不必多說,關于mimeType需要一點說明,官方文檔里給出了一個鏈接http://www.iana.org/assignments/media-types/ ,這里列出的所有的類型都應該支持。關于mimeType的用處,更多需要依靠搜索引擎了 =] 

第二種方法的劣勢也很明顯,iOS系統替我們提供了一個mail中的UI,而我們卻完全無法對齊進行訂制,這會讓那些定制化成自己風格的App望而卻步,因為這樣使用的話無疑太突兀了。  

3、我們可以根據自己的UI設計需求來定制相應的視圖以適應整體的設計??梢允褂帽容^有名的開源SMTP協議來實現。   

在SKPSMTPMessage類中,并沒有對視圖進行任何的要求,它提供的都是數據層級的處理,你之需要定義好相應的發送要求就可以實現郵件發送了。至于是以什么樣的方式獲取這些信息,就可以根據軟件的需求來確定交互方式和視圖樣式了。  

    SKPSMTPMessage *testMsg = [[SKPSMTPMessage alloc] init];   testMsg.fromEmail = @"test@gmail.com";   testMsg.toEmail =@"to@gmail.com";   testMsg.relayHost = @"smtp.gmail.com";   testMsg.requiresAuth = YES;   testMsg.login = @"test@gmail.com";   testMsg.pass = @"test";   testMsg.subject = [NSString stringWithCString:"測試" encoding:NSUTF8StringEncoding];   testMsg.bccEmail = @"bcc@gmail.com";   testMsg.wantsSecure = YES; // smtp.gmail.com doesn't work without TLS!    // Only do this for self-signed certs!   // testMsg.validateSSLChain = NO;   testMsg.delegate = self;    NSDictionary *plainPart = [NSDictionary dictionaryWithObjectsAndKeys:@"text/plain",kSKPSMTPPartContentTypeKey,          [NSString stringWithCString:"測試正文" encoding:NSUTF8StringEncoding],kSKPSMTPPartMessageKey,@"8bit",kSKPSMTPPartContentTransferEncodingKey,nil];     NSString *vcfPath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"vcf"];    NSData *vcfData = [NSData dataWithContentsOfFile:vcfPath];     NSDictionary *vcfPart = [NSDictionary dictionaryWithObjectsAndKeys:@"text/directory;/r/n/tx-unix-mode=0644;/r/n/tname=/"test.vcf/"",kSKPSMTPPartContentTypeKey,           @"attachment;/r/n/tfilename=/"test.vcf/"",kSKPSMTPPartContentDispositionKey,[vcfData encodeBase64ForData],kSKPSMTPPartMessageKey,@"base64",kSKPSMTPPartContentTransferEncodingKey,nil];    testMsg.parts = [NSArray arrayWithObjects:plainPart,vcfPart,nil];    [testMsg send]; //該類也提供了相應的Delegate方法來讓你更好的獲知發送的狀態.  -(void)messageSent:(SKPSMTPMessage *)message; -(void)messageFailed:(SKPSMTPMessage *)message error:(NSError *)error; 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久久高潮| 欧美日韩亚洲一区二区| 国产在线98福利播放视频| 亚洲综合最新在线| 日韩高清欧美高清| 亚洲香蕉成视频在线观看| 亚洲成人999| 午夜精品久久久久久久久久久久久| 欧美成人激情视频| 欧美日本中文字幕| 成人免费在线视频网站| 国产欧美精品在线播放| 91在线视频导航| 国产精品美女午夜av| 91tv亚洲精品香蕉国产一区7ujn| 欧美日韩亚洲视频一区| 国产国语videosex另类| 亚洲三级黄色在线观看| 91在线视频精品| 欧美体内谢she精2性欧美| 国产精品久久久久久久久久久不卡| 亚洲国产精品一区二区久| 国产99久久精品一区二区永久免费| 国产精品久久久久久久久久久久久久| 97超级碰碰人国产在线观看| 丝袜美腿亚洲一区二区| 国产精品一区二区三区久久| 2019最新中文字幕| 6080yy精品一区二区三区| 国产日韩欧美影视| 在线免费观看羞羞视频一区二区| 欧美成人激情视频免费观看| 欧美视频在线免费| 亚洲国产精品字幕| 揄拍成人国产精品视频| 日韩网站免费观看| 亚洲四色影视在线观看| 日韩高清电影免费观看完整版| 欧美美女15p| 乱亲女秽乱长久久久| 97在线视频国产| 在线国产精品视频| 欧美在线亚洲在线| 91九色视频在线| 亚洲最大福利视频| 欧美日韩性视频| 91久久久久久久久久久| 国产精品99久久久久久久久久久久| 欧美精品videossex性护士| 亚洲欧美日韩视频一区| 久久精视频免费在线久久完整在线看| 亚洲乱码一区二区| 91精品久久久久久久久久久久久久| 日日骚av一区| 岛国av午夜精品| 国产视频精品久久久| 欧美日韩午夜剧场| 国产亚洲精品激情久久| 91国在线精品国内播放| 亚洲一区二区中文字幕| 亚洲欧美日韩爽爽影院| 久久福利视频导航| 伊人久久久久久久久久| 亚洲福利视频二区| 97人人爽人人喊人人模波多| 97香蕉久久夜色精品国产| 日韩综合视频在线观看| 91精品国产自产91精品| 91沈先生作品| 午夜精品一区二区三区在线视频| 久久亚洲影音av资源网| 日本午夜人人精品| 91精品国产自产在线老师啪| 久久久午夜视频| 国产精品wwww| 福利微拍一区二区| 国产欧美日韩中文| 亚洲欧美精品中文字幕在线| 欧美激情aaaa| 久久影视电视剧免费网站清宫辞电视| 国产精品吴梦梦| 日韩成人xxxx| 国产精品十八以下禁看| 日韩av免费在线观看| 色先锋久久影院av| 久久视频在线免费观看| 久久精品国产久精国产思思| 91精品国产91久久久久福利| 亚洲精品mp4| 欧美一级免费视频| 欧美激情亚洲精品| 国产精品久久久久久av福利软件| 中文字幕av一区| 国内精品免费午夜毛片| 午夜精品福利在线观看| 色噜噜久久综合伊人一本| 国产精品男人爽免费视频1| 国产精品免费小视频| 中文字幕亚洲精品| 亚洲午夜未满十八勿入免费观看全集| 欧美日韩xxxxx| 亚洲一区精品电影| 国产精品一区二区久久国产| 欧美午夜性色大片在线观看| 成人av电影天堂| 茄子视频成人在线| 国产ts人妖一区二区三区| 国内精品国产三级国产在线专| 国产精品久久久久久久久借妻| 欧美日韩国产丝袜美女| 欧美理论电影在线观看| 国产一区二区三区免费视频| 欧美性猛交xxxx免费看漫画| 久久电影一区二区| 久久久99免费视频| 国产亚洲欧美另类中文| 久久久久久久久久久人体| 亚洲第一精品夜夜躁人人爽| 最近2019中文字幕一页二页| 日韩中文字幕免费| 国产精品第100页| 成人高清视频观看www| 国产精品一区二区久久| 国产女精品视频网站免费| 国产91色在线免费| 亚洲国产欧美在线成人app| 日韩精品999| 欧洲日本亚洲国产区| 欧美成人中文字幕| 欧美成人激情在线| 米奇精品一区二区三区在线观看| 国内精品视频久久| 亚洲第一精品电影| 中文精品99久久国产香蕉| 亚洲精品中文字| 亚洲精品美女久久久久| 777午夜精品福利在线观看| 亚洲人精品午夜在线观看| 国模吧一区二区| 国内揄拍国内精品| 欧美又大粗又爽又黄大片视频| 国产精品高精视频免费| 亚洲成人精品av| 狠狠久久五月精品中文字幕| 亚洲欧美日韩精品久久亚洲区| 国产一区二区三区中文| 欧美成人午夜激情在线| 日本高清视频精品| 69av视频在线播放| 91精品国产91久久久| 欧美大胆a视频| 日韩国产一区三区| 亚洲欧美国产日韩天堂区| 日韩av电影在线网| 国产精品青草久久久久福利99| 国产成人精品久久| 成人黄色免费网站在线观看| 一区二区国产精品视频| 97国产精品人人爽人人做| 曰本色欧美视频在线| 亚洲成年人影院在线| 亚洲性xxxx| 97在线观看免费| 中文字幕日韩有码|