Node.js email не отправляется с gmail smtp
Я пытаюсь отправить письмо gmail smtp, но я получаю сообщение об ошибке:
Мой адрес электронной почты и пароль верны. Я использую nodemailer для отправки почты;
var nodemailer = require('nodemailer');
// create reusable transporter object using SMTP transport
var transporter = nodemailer.createTransport({
service: 'Gmail',
auth: {
admin: 'myuseremail.com',
pass: 'password'
}
});
var mailOptions = {
from: 'sender address', // sender address
to: to, // list of receivers
subject: 'Password Reset', // Subject line
html: 'Your one time password is : <b>' + temporaryPassword + ' </b>' // html body
};
transporter.sendMail(mailOptions, function (error, info) {
console.log(error,info);
}
в журнале я получаю сообщение об ошибке:
{
[Error: Invalid login]
code: 'EAUTH',
response: '535-5.7.8 Username and Password not accepted. Learn more at\n535 5.7.8 https://support.google.com/mail/answer/14257 k5sm20957041pdo.48 - gsmtp',
responseCode: 535
}
Я пробую ссылку, но это не работает:
https://laracasts.com/discuss/channels/general-discussion/help-email-doesnt-get-sent-with-gmail-smtp
Ответы
Ответ 1
var transporter = nodemailer.createTransport({
service: 'Gmail',
auth: {
user: '[email protected]',
pass: 'password'
}
});
Попробуйте вышеописанное и сделайте следующее, что сработало для меня.
Войдите в https://www.google.com/settings/security/lesssecureapps и , ВКЛЮЧИТЕ Доступ к менее защищенным приложениям.
Я надеюсь, что это сработает и для вас.
Спасибо.
Ответ 2
-
Прежде всего, вы должны включить настройки, чтобы разрешить менее безопасные приложения для учетной записи Gmail, которую вы используете. Вот ссылка: https://myaccount.google.com/lesssecureapps
-
Во-вторых, разрешить доступ к опции "Показать разблокировку капча" (разрешить доступ к вашей учетной записи Google). Вот ссылка: https://accounts.google.com/DisplayUnlockCaptcha
Ответ 3
https://myaccount.google.com/lesssecureapps
Нажмите на эту ссылку, на ваш менее безопасный доступ к приложению. поэтому после того, как этот gmail отправит электронное письмо на ваше устройство, подтвердите, что это вы. Вы сделали счастливое кодирование
Ответ 4
Если вы используете OAuth2, и вы столкнулись с проблемой выше, настройка моего транспортера, как показано ниже, разрешила мою проблему.
const transporter = nodemailer.createTransport({
host: 'smtp.gmail.com',
port: 465,
secure: true,
auth: {
type: 'OAuth2',
user: process.env.MAIL_USER,
clientId: process.env.GOOGLE_CLIENT_ID,
clientSecret: process.env.GOOGLE_CLIENT_SECRET,
refreshToken: process.env.GOOGLE_CLIENT_REFRESH_TOKEN
}
});
Если вы не знаете, как сгенерировать идентификатор, секрет и токен, выполните следующие шаги: https://medium.com/@pandeysoni/nodemailer-service-in-node-js-using-smtp-and-xoauth2-7c638a39a37e
Ответ 5
var transporter = nodemailer.createTransport({
service: 'Gmail',
auth: {
user: '[email protected]',
pass: 'password'
}
});
Попробуйте это.
Ответ 6
let transporter = nodeMailer.createTransport({
host: 'smtp.gmail.com',
port: 587,
secure: true,
auth: {
user: '[email protected]',
pass:'your gmail pass'
}
});