Невозможно установить аутентификацию для Nodemailer Transporter после его создания - PullRequest
0 голосов
/ 16 апреля 2020

Я испытываю модуль Nodemailer и не могу установить аутентификацию транспортера после его создания. Вот мой код:

let transporter = nodemailer.createTransport({
  host: `smtp-mail.outlook.com`,
  secureConnection: false,
  port: 587,
  tls: {
    ciphers: `SSLv3`,
  },
  auth: {
    user: ``,
    pass: ``,
  },
});

function sendEmail(user, pass, to, mail) {
  transporter.options.auth.user = user;
  transporter.options.auth.pass = pass;
  console.log(transporter.options.auth);
  transporter.sendMail(
    {
      from: user,
      to: to,
      subject: "Yo",
      text: mail,
      html: `<b>${mail}</b>`,
    },
    (err, inf) => {
      if (err) console.log(err);
      else console.log(inf);
    }
  );
}

sendEmail(`example@example.com`, `password`, `example@example.com`, `Yo Yo Yo`);

Я получаю вывод журнала консоли, как показано ниже, это означает, что устанавливается аутентификация:

{ user: 'example@example.com', pass: 'password' }

Но все же я получаю эту ошибку:

Error: Missing credentials for "LOGIN"
    at SMTPConnection._formatError (G:\Code and Other things\Experiment\node_modules\nodemailer\lib\smtp-connection\index.js:784:19)
    at SMTPConnection.login (G:\Code and Other things\Experiment\node_modules\nodemailer\lib\smtp-connection\index.js:448:38)
    at G:\Code and Other things\Experiment\node_modules\nodemailer\lib\smtp-transport\index.js:271:32
    at SMTPConnection.<anonymous> (G:\Code and Other things\Experiment\node_modules\nodemailer\lib\smtp-connection\index.js:215:17)
    at Object.onceWrapper (events.js:299:28)
    at SMTPConnection.emit (events.js:210:5)
    at SMTPConnection._actionEHLO (G:\Code and Other things\Experiment\node_modules\nodemailer\lib\smtp-connection\index.js:1313:14)
    at SMTPConnection._processResponse (G:\Code and Other things\Experiment\node_modules\nodemailer\lib\smtp-connection\index.js:942:20)
    at SMTPConnection._onData (G:\Code and Other things\Experiment\node_modules\nodemailer\lib\smtp-connection\index.js:749:14)
    at TLSSocket.SMTPConnection._onSocketData (G:\Code and Other things\Experiment\node_modules\nodemailer\lib\smtp-connection\index.js:195:44) {
  code: 'EAUTH',
  command: 'API'

Однако, если я даю аутентификацию при создании Transporter, он работает нормально. Я потерян здесь, я не могу установить данные аутентификации для уже созданного Transporter? Если нет, то почему?

Любая помощь очень ценится. Спасибо.

...