2015-09-07 12 views
8

Im пытается отправить электронную почту с помощью Node.js - nodemailer модуль, весь мой код выглядитnode.js nodemailer ошибка Gmail

var http=require("http"); 
var nodemailer=require("nodemailer"); 

http.createServer(function(req,res){ 
    res.writeHead(200, {"Content-Type": "text/plain"}); 
    var transporter = nodemailer.createTransport('SMTP',{ 
    service: 'gmail', 
    auth: { 
     user: '[email protected]', // my mail 
     pass: 'mypassword' 
    } 
}); 
var mailOptions = { 
    from: 'Fred Foo ✔ <[email protected]>', // sender address 
    to: '[email protected]', // the same mail = want to send it to myself 
    subject: 'Hello ✔', // Subject line 
    text: 'Hello world ✔', // plaintext body 
    html: '<b>Hello world ✔</b>' // html body 
}; 
    transporter.sendMail(mailOptions, function(error, info){ 
    if(error){ 
     return console.log(error); 
    } 
    console.log('Message sent: ' + info.response); 

}); 
    res.end("hllo"); 
}).listen(4000) 

, но когда я запускаю его, он выдает "логин" ошибку, altought My имя/передача правильны вся ошибка выглядит так

{ [AuthError: Invalid login - 534-5.7.14 <https://accounts.google.com/ContinueSi 
gnIn?sarp=1&scc=1&plt=AKgnsbtWV 
534-5.7.14 FHw6FqlXkg3nIQW7AtsO7o0r-4EtD7eTtnrgHeXxeULYqUtHjrnTB9R647mlR7GY9Z4lS 
z 
534-5.7.14 WuzYYnNwNBjIyrjNzHk-o9sIV_vIsbjgF5HsFPtJl5S0dSf3eyNCX_E8tQ_Z6s4Z1mUe5 
i 
534-5.7.14 p8Y5YagzdN5RSkjpB1yTu3TfWHSTLisczIZphhLfhlz-v86tAB8MX-4jRqA51hfJYy0ko 
F 
534-5.7.14 qytMeIbs1kUZEJzPIabmjRi87DIk> 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 cx1sm17733852wib.0 - gs 
mtp] 
    name: 'AuthError', 
    data: '534-5.7.14 <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt 
=AKgnsbtWV\r\n534-5.7.14 FHw6FqlXkg3nIQW7AtsO7o0r-4EtD7eTtnrgHeXxeULYqUtHjrnTB9R 
647mlR7GY9Z4lSz\r\534-5.7.14 WuzYYnNwNBjIyrjNzHk-o9sIV_vIsbjgF5HsFPtJl5S0dSf3ey 
NCX_E8tQ_Z6s4Z1mUe5i\r\n534-5.7.14 p8Y5YagzdN5RSkjpB1yTu3TfWHSTLisczIZphhLfhlz-v 
86tAB8MX-4jRqA51hfJYy0koF\r\n534-5.7.14 qytMeIbs1kUZEJzPIabmjRi87DIk> 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 cx1sm1773385 
2wib.0 - gsmtp', 
    stage: 'auth' } 

есть что-то я должен установить в моем GMAIL акк, чтобы это отправить электронную почту от того или как я могу это исправить

+0

хорошо вопрос !!! –

ответ

20

Попробуйте установить nodemail er-smtp-transport, а затем использовать его внутри вашей функции createTransport.

var smtpTransport = require('nodemailer-smtp-transport'); 

var transport = nodemailer.createTransport(smtpTransport({ 
    service: 'gmail', 
    auth: { 
     user: '[email protected]', // my mail 
     pass: 'mypassword' 
    } 
})); 

И попробуйте также в то время как в вашем аккаунте Google позволяет это: https://www.google.com/settings/security/lesssecureapps

Я действительно думаю, что это должно быть ваша проблема аутентификации

+0

Спасибо, что работает для меня. !!! (UP VOTED) –

+0

Недавно я столкнулся с этой проблемой. Я прочитал документы в https://github.com/nodemailer/nodemailer#using-gmail, он показывает некоторые дополнительные шаги, которые вам нужно сделать, чтобы предоставить доступ к менее безопасным приложениям. Это работало для меня как шарм! – KQI

1

это работает со мной после того, как с помощью NONE-безопасный порт

var transporter = nodemailer.createTransport({ 
    host: 'smtp.gmail.com', 
    port: 587, 
    secure: false, // secure:true for port 465, secure:false for port 587 
    auth: { 
    user: '[email protected]', 
    pass: 'xxxx' 
    } 
}); 
+0

не работает для меня – Johnyb

+0

@Johnyb не забудьте предоставить доступ для менее безопасных приложений, сформировать свою учетную запись google – Abudayah

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