ios 后台發送郵件之SKPSMTPMessage的使用


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM