Отправка электронной почты с помощью почтового сервера Microsoft 365 в NodeJS

#node.js #nodemailer

#node.js #nodemailer

Вопрос:

 let transporter = nodemailer.createTransport({
    service: "Outlook365",
    host: 'smtp.office365.com',
    port: 587,
    tls: {
        ciphers:'SSLv3'
    },
    auth: {
        user: 'username',
        pass: 'password'
    }
});
  

У меня ошибка EAUTH при отправке электронной почты, пожалуйста, проверьте изображение на наличие ошибки.
[1]: https://i.stack.imgur.com/snt3T.jpg

Комментарии:

1. Вы пытались сохранить только "service" "auth" ключи и?

Ответ №1:

Этот код должен делать то, что вы хотите, вам нужно будет установить свой пароль, чтобы проверить это.

Если пароль неверный, вы получите сообщение об ошибке:

Ошибка: неверный вход в систему: 535 5.7.3 Сообщение об ошибке аутентификации.

 const nodemailer = require('nodemailer');

// Set this from config or environment variable.
const PASSWORD = '....';

async function send365Email(from, to, subject, html, text) {
    try { 
        const transportOptions = {
            host: 'smtp.office365.com',
            port: '587',
            auth: { user: from, pass: PASSWORD },
            secureConnection: true,
            tls: { ciphers: 'SSLv3' }
        };
    
        const mailTransport = nodemailer.createTransport(transportOptions);
    
        await mailTransport.sendMail({
            from,
            to,
            replyTo: from,
            subject,
            html,
            text
        });
    } catch (err) { 
        console.error(`send365Email: An error occurred:`, err);
    }
}

send365Email("from@example.com", "to@example.com", "Subject", "<i>Hello World</i>", "Hello World");
  

Ответ №2:

Вам нужно будет отключить SmtpClientAuthenticationDisabled через сетевую командную оболочку с помощью команды

 Set-TransportConfig -SmtpClientAuthenticationDisabled $false
  

Дополнительные сведения можно найти в разделе Включение или отключение отправки SMTP-сообщений с проверкой подлинности клиента (SMTP AUTH) в Exchange Online

Ответ №3: