2016-06-07 142 views
1

我需要使用節點Js發送電子郵件。我用下面的代碼,在節點Js中發送郵件

var nodemailer = require("nodemailer"); 
//var smtpTransport = require("nodemailer-smtp-transport") 
var smtpTransport = nodemailer.createTransport("SMTP",{ 
    service: "Gmail", 
    auth: { 
     user: "[email protected]", 
     pass: "xxxxxxxx" 
    } 
}); 
smtpTransport.sendMail({ 
      from: "[email protected]", // sender address 
      to: "[email protected]", // comma separated list of receivers 
      subject: "Test Mail", // Subject line 
      text: "Hi, Test Mail"// plaintext body 
     }, function(error, data){ 

      if(error){ 
       console.log(error); 
      }else{ 
       console.log("Mail Sent"); 
      } 
     }); 

當我運行這段代碼,我得到的錯誤,

{ AuthError: Invalid login - 534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbsO 
534-5.7.14 nSiseM4eUKjA64AZjuUfbMQisituUebEXGcWjgh1aePgnHNUs2gNlmIrmDHMY-VHZpi_-_ShO 
534-5.7.14 5piXf2MTbZWxaEbFpal3ZqHZlUIvWc8vdCZBhjuhBlzVzALTv0Swes374SR7bwoalfGGIgHI 
534-5.7.14 n7mxubIXPM_BM0ehxuh2tqDLL9n3wilsOpyShjhzLZ3hZg_baUdUT2lKp2MBzXRtblrD6nDw 
534-5.7.14 hL-u0QueUcDAVi0XsZqjLmmhGozaM> Please log in via your web browser and 
534-5.7.14 then try again. 
534-5.7.14 Learn more at 
534 5.7.14 https://support.google.com/mail/answer/78754 y205sm10903842pfb.13 - gsmtp 
    at SMTPClient._actionAUTHComplete (/var/www/html/node_modules/simplesmtp/lib/client.js:925:23) 
    at SMTPClient._onData (/var/www/html/node_modules/simplesmtp/lib/client.js:354:29) 
    at emitOne (events.js:96:13) 
    at TLSSocket.emit (events.js:188:7) 
    at readableAddChunk (_stream_readable.js:172:18) 
    at TLSSocket.Readable.push (_stream_readable.js:130:10) 
    at TLSWrap.onread (net.js:542:20) 
    name: 'AuthError', 
    data: '534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbsO\r\n534-5.7.14 nSiseM4eUKjA64AZjuUfbMQisituUebEXGcW1aePgnHNUs2ghjhNlmIrmDHMY-VHZpi_-_ShO\r\n534-5.7.14 5piXf2MTbZWxaEbFpal3ZqHZlUIvWc8vdCZBuhBlzVzALTvhjh0Swes374SR7bwoalfGGIgHI\r\n534-5.7.14 n7mxubIXPM_BM0ehxuh2tqDLL9n3wilsOpyShzLZ3hZg_bahjUdUT2lKp2MBzXRtblrD6nDw\r\n534-5.7.14 hL-u0QueUcDhjAVi0XsZqjLmmhGozaM> Please log in via your web browser and\r\n534-5.7.14 then try again.\r\n534-5.7.14 Learn more at\r\n534 5.7.14 https://support.google.com/mail/answer/78754 y205sm10903842pfb.13 - gsmtp', 
    stage: 'auth' } 

我曾嘗試使用下面的鏈接

https://accounts.google.com/b/0/DisplayUnlockCaptcha 

允許訪問我的Gmail帳戶但我仍然得到這個錯誤。請幫助。

回答

3
  1. 對於Gmail,你可能需要配置「允許不夠安全的應用」,在您的Gmail帳戶Click Here.

  2. 如果在這種情況下使用2FA,則必須創建一個特定於應用程序的密碼。

  3. 您可能還需要與到您的帳戶解鎖「允許訪問您的谷歌帳戶」使用SMTP。

我可以上傳一個工作的例子在github上,如果你願意。認證是這裏的錯誤。

希望它有幫助。

+0

像你說的我已經配置第一和第三個。我不知道你在這裏說2FA的第二個是什麼?請上傳一個工作示例。 –

+0

https://en.wikipedia.org/wiki/Two-factor_authentication。 Gmail中的兩步驗證。 –

+0

仍然問題依然存在。你能舉個例子嗎? –