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(網易郵箱)。具體其他郵箱服務器地址查看幫助中心。
