2016-05-02 4 views
1

Я использую MailCore2 в Swift в приложении iOS для отправки сообщения по электронной почте в фоновом режиме без открытого встроенного почтового приложения, но когда я запускаю приложение на своем устройство (реальное устройство) у меня есть эта проблема:Ошибка при использовании MailCore2 в Swift 2

Мой полный код для кнопки отправки:

@IBAction func sendButton(sender: AnyObject) { 

    var smtpSession = MCOSMTPSession() 
    smtpSession.hostname = "smtp.gmail.com" 
    smtpSession.username = "from-email" 
    smtpSession.password = "password" 
    smtpSession.port = 465 
    smtpSession.authType = MCOAuthType.SASLPlain 
    smtpSession.connectionType = MCOConnectionType.TLS 
    smtpSession.connectionLogger = {(connectionID, type, data) in 
     if data != nil { 
      if let string = NSString(data: data, encoding: NSUTF8StringEncoding){ 
       NSLog("Connectionlogger: \(string)") 
      } 
     } 
    } 

    var builder = MCOMessageBuilder() 
    builder.header.to = [MCOAddress(displayName: "AAA", mailbox: "to-email")] 
    builder.header.from = MCOAddress(displayName: "RRR", mailbox: "from-email") 
    builder.header.subject = messageTitleTextField.text 
    var message = messageTextView.text 
    builder.htmlBody = message 

    let rfc822Data = builder.data() 
    let sendOperation = smtpSession.sendOperationWithData(rfc822Data) 
    sendOperation.start { (error) -> Void in 
     if (error != nil) { 
      NSLog("Error sending email: \(error)") 
     } else { 
      NSLog("Sent successfully, Thanks!") 
     } 
    } 
} 

Ошибка:

Optional(Error Domain=MCOErrorDomain Code=5 "Unable to authenticate with the current session's credentials." UserInfo={NSLocalizedDescription=Unable to authenticate with the current session's credentials.}) 
+0

Похоже, что ваши учетные данные неверны. –

+0

Но я уверен, что с моих учетных данных также активирую настройку из учетной записи Gmail! –

+0

@ AndyIbanez Должен ли я что-то сделать для OAuth2Token? И если да, то как я могу это сделать в Свифт? –

ответ

1

Я уже изменить настройки незащищенного приложения из аккаунта Gmail, но я решил cr edentials, разблокировав gmail-аккаунт по этой ссылке https://accounts.google.com/DisplayUnlockCaptcha

+0

Рад, что вы нашли решение! –

+0

@RoolPaap Да :) –

Смежные вопросы