2016-06-07 6 views
1

Мне нужно отправить электронное письмо с помощью Node Js. Я использовал следующий код,Отправить сообщение в Node 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' } 

я разрешен доступ к моей GMail аккаунт, используя следующую ссылку

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

Но все же я получаю эту ошибку. Пожалуйста, помогите.

ответ

3
  1. Для Gmail может потребоваться настроить «Разрешить Меньше Безопасные приложения» в вашем аккаунте Gmail. Click Here.

  2. Если вы используете 2FA, в этом случае вам необходимо будет создать специальный пароль для приложения .

  3. Вам также может понадобиться, чтобы разблокировать свой аккаунт с «Разрешить доступ к вашей учетной записи Google» использовать SMTP.

Я могу загрузить рабочий пример на github, если хотите. Ошибка аутентификации.

Надеюсь, это поможет.

+0

Я установил первый и третий, как вы сказали. Я не знаю, что второе, что вы говорите здесь 2FA ?. Загрузите рабочий пример. –

+0

https://en.wikipedia.org/wiki/Two-factor_authentication. Двухэтапная проверка в случае Gmail. –

+0

Все еще проблема сохраняется. Можете ли вы опубликовать мне пример? –

0

Я была такая же проблема solved..Login в свой аккаунт Google с помощью браузера, затем перейдите по ссылке ниже, чтобы разблокировать: https://accounts.google.com/DisplayUnlockCaptcha

+0

Однострочное решение должно быть в комментарии. – Rumit