Не удается отправлять электронные письма от nodemailer с учетной записью office365 в nodejs, возникает ошибка Аутентификация не удалась?

Я использую nodemailer для отправки электронных писем пользователю с адресом электронной почты и паролем учетной записи Office 365, все правильно, но каждый раз, когда я получаю сообщение об ошибке - Аутентификация не удалась

Error: Invalid login:Authentication unsuccessful[BL0PR01CA0033.prod.exchangelabs.com]
code: 'EAUTH',
response: '535 5.7.3 Authentication unsuccessful [BL0PR01CA0033.prod.exchangelabs.com]',
response Code: 535,
command: 'AUTH LOGIN'** 

person Ravikant Choudhary    schedule 06.02.2020    source источник
comment
Вы сначала проверили свои учетные данные? Также загрузите код   -  person Shantanu Madane    schedule 06.02.2020
comment
Я проверил учетные данные, учетные данные верны   -  person Ravikant Choudhary    schedule 11.02.2020
comment
@RavikantChoudhary Вы нашли какое-нибудь решение для этого ??   -  person Abhishek Mani    schedule 19.05.2020


Ответы (3)


Вы должны включить SMTP-вход для почтового ящика O365 или пользователя в настройках администратора

Зайдите в настройки почты

Перейти к настройкам почты

Включите аутентифицированный SMTP

Включить SMTP с проверкой подлинности

как только это будет сделано, используйте

var transport = nodemailer.createTransport({
    service: "Outlook365",
    auth: {
      user: 'O365email',
      pass: 'O365password'
    }, 

  });
  var mailOptions = {
   from: 'o365email',
    to: '[email protected]', // list of receivers
    subject: "Password reset requested for your account", // Subject line
    text: 'reset password',
    html: "<h1>Mail Testing</h1>" // html body
  };
  transport.sendMail(mailOptions, function(error, response){
    if(error){
      resp.status(500);
     resp.send(error);
    }else{
        resp.send({message:'done'});
    }

    });
person Vamsi Ambati    schedule 08.06.2020
comment
Теперь его вызов Authenticated SMTP - person user956584; 27.09.2020

Я столкнулся с той же проблемой и после долгих исследований и после нескольких документов. Я пришел к этому решению, и мне, как клиенту Office365 (теперь Microsoft365), нужно перейти на portal.azure.com, затем «Управление», «Свойства» и установить для параметра «Управление безопасностью» значение по умолчанию «Нет». Я думаю, что это напортачило, но это работает.

https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/concept-fundamentals-security-defaults

https://github.com/nodemailer/nodemailer/issues/1071

Вот настройки, которые я использую

host: "domain.com",
port: 587,
secure: false,
auth: {
  user: "[email protected]",
  pass: "password"
},
tls:  { ciphers: 'SSLv3' },
service: "Outlook365",
person Ratnesh Choudhary    schedule 27.11.2020
comment
Конечно, это повлияет на запись SPF доменов с адресами электронной почты пользователей 365 в поле from - person Jeepers Creepers; 15.01.2021

Вот простой способ исправить это: https://docs.microsoft.com/en-us/exchange/clients-and-mobile-in-exchange-online/authenticated-client-smtp-submission#используйте-the-microsoft-365-admin-center-to-enable-or-disable-smtp-auth-on-specific-mailboxes

Под заголовком: Используйте центр администрирования Microsoft 365, чтобы включить или отключить SMTP AUTH для определенных почтовых ящиков.

Вам необходимо включить SMTP AUTH для электронной почты, для которой вы добавляете кредиты.

person Simone Anthony    schedule 07.05.2021