skpsmtpmessage 是ios第三方后台發送郵件庫 https://github.com/jetseven/skpsmtpmessage.git
1、由於skpsmtpmessage是非ARC文件,所以要在 SKPSMTPMessage和 NSData+Base64Additions中添加
Your Target -> Get Info -> Build -> All Configurations -> Other Link Flags: -fno-objc-arc 標識
2、導入cfnetwork.frame框架
導入頭文件#import "SKPSMTPMessage.h" #import "NSData+Base64Additions.h"
SKPSMTPMessageDelegate協議,並實現兩個協議方法
3、開始發送郵件
// 發送郵件 - (IBAction)sendEmail { SKPSMTPMessage *testSend = [[SKPSMTPMessage alloc]init]; testSend.fromEmail = @"發送郵箱賬號"; testSend.toEmail = @"接收郵箱賬號"; testSend.relayHost = @"smtp.ym.163.com"; testSend.requiresAuth = YES; testSend.login = @"發送郵箱賬號"; testSend.pass = @"發送郵箱密碼"; testSend.subject = [NSString stringWithCString:"測試" encoding:NSUTF8StringEncoding]; // testSend.ccEmail = @"抄送人郵箱"; // 可不填 testSend.wantsSecure = YES; testSend.delegate = self; NSDictionary *plainPart = [NSDictionary dictionaryWithObjectsAndKeys:@"text/plain; charset=UTF-8;\nThis is a test Email",kSKPSMTPPartContentTypeKey, @"This is a test message.",kSKPSMTPPartMessageKey,@"8bit",kSKPSMTPPartContentTransferEncodingKey,nil]; testSend.parts = [NSArray arrayWithObjects:plainPart, nil]; dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ [testSend send]; }); }
// 回調方法
- (void)messageSent:(SKPSMTPMessage *)message { NSLog(@"messageSuccessed-----%@", message); } - (void)messageFailed:(SKPSMTPMessage *)message error:(NSError *)error { NSLog(@"messageFailed-----message - %@\nerror - %@", message, error); }
4、Tip:關於relayHost參數:smtp.ym.163.com(網易企業郵箱)smtp.163.com(網易郵箱)。具體其他郵箱服務器地址查看幫助中心。