Nodemailer не может отправлять почту с помощью gmail

Я пытаюсь отправить электронную почту через nodemailer, но не могу отправить электронную почту и показать следующую ошибку.

{ [Error: Invalid login] code: 'EAUTH', response: '534-5.7.14  Please log in via your web browser and\n534-5.7.14 then try again.\n534-5.7.14 Learn more at\n534 5.7.14 https://support.google.com/mail/answer/78754 21sm9309692qgj.21 - gsmtp', responseCode: 534 } 

Я использую точный код, как показано в документации nodemailer.

это код на стороне сервера, который я использую.

 var transporter = nodemailer.createTransport({ service: 'Gmail', auth: { user: 'username', pass: 'password' } }); app.post('/sendfeedbackmail', function(req, res) { var mailOptions = { from: 'Feedback', // sender address to: 'user1@gmail.com', // receiver subject: 'Subject', // Subject line text: mailData, // plaintext body html: mailData // html body }; // send mail with defined transport object transporter.sendMail(mailOptions, function(error, info) { if (error) { console.log(error); res.send({success:false}); }else{ res.send({ success: true }) } }); }) 

Это работало нормально несколько дней назад и все еще отлично работает для другого почтового клиента, а затем gmail, поэтому я думаю, что проблема может быть связана с любым параметром безопасности учетной записи gmail.

ОБНОВИТЬ

Проверьте http://masashi-k.blogspot.com.br/2013/06/sending-mail-with-gmail-using-xoauth2.html, чтобы зарегистрировать свое приложение.


Для аутентификации в Gmail вам понадобится нечто подобное:

 var xoauth2 = require('xoauth2'); var nodemailer = require('nodemailer'); var smtp = require('nodemailer-smtp-transport'); var generator = xoauth2.createXOAuth2Generator({ user: '..', clientId: '...', clientSecret: '...', refreshToken: '...', accessToken: '' }); generator.on('token', function(token){ console.info('new token', token.accessToken); // maybe you want to store this token }); var transporter_google = nodemailer.createTransport(smtp({ name: '...', host: '...', port: 587, secure: false, ignoreTLS: false, tls: { rejectUnauthorized: true }, debug: false, auth: { xoauth2: generator } })); 

См. https://github.com/andris9/nodemailer-smtp-transport#authentication .

 var transporter = nodemailer.createTransport({ service: 'Gmail', auth: { user: 'username', pass: 'password' } }); 

Вместо имени пользователя = введите свой действительный идентификатор электронной почты и пароль = ваш пароль

снова предупреждение отображается в Gmail из Google, как

(Google будет продолжать блокировать попытки входа из приложения, которое вы используете, потому что оно знает проблемы с безопасностью или устарело . Вы можете продолжать использовать это приложение, разрешая доступ к менее безопасным приложениям , но это может оставить вашу учетную запись уязвимы.)

вам необходимо разрешить доступ из другой почтовой программы

то он генерирует ответ