NODEMAILER — Ошибка: отсутствуют учетные данные для «ПРОСТОГО»

#node.js #nodemailer

#node.js #nodemailer

Вопрос:

У меня Nodemailer настроен как таковой:

 let transporter = nodemailer.createTransport({
    host: 'mail.notreforce.org',
    port: 587,
    secure: false, //true for 465, false for other ports
    auth: {
        name: env.email,
        pass: env.pasword,
    },
    tls:{
        rejectUnauthorized: false
    }
});

let mailOptions = {
    from: '"Nguvu yetu" <test@notreforce.org>', //sender address
    to: user.email, //list of receivers
    subject: "Email verification",
    html: output,
};

//send mail with defined transport object
transporter.sendMail(mailOptions,error=>{
    if (error){
        return console.log(error);
    }
    res.status(200).json({msg:"Email has been sent"})
})
  

Но я получаю сообщение об ошибке ниже

 Error: Missing credentials for "PLAIN"
    at SMTPConnection._formatError (C:web-projectsAngular appsTosEcommercebackendnode_modulesnodemailerlibsmtp-connectionindex.js:784:19)
    at SMTPConnection.login (C:web-projectsAngular appsTosEcommercebackendnode_modulesnodemailerlibsmtp-connectionindex.js:448:38)
    at C:web-projectsAngular appsTosEcommercebackendnode_modulesnodemailerlibsmtp-transportindex.js:271:32
    at SMTPConnection.<anonymous> (C:web-projectsAngular appsTosEcommercebackendnode_modulesnodemailerlibsmtp-connectionindex.js:215:17)
    at Object.onceWrapper (events.js:420:28)
    at SMTPConnection.emit (events.js:314:20)
    at SMTPConnection._actionEHLO (C:web-projectsAngular appsTosEcommercebackendnode_modulesnodemailerlibsmtp-connectionindex.js:1313:14)
    at SMTPConnection._processResponse (C:web-projectsAngular appsTosEcommercebackendnode_modulesnodemailerlibsmtp-connectionindex.js:942:20)
    at SMTPConnection._onData (C:web-projectsAngular appsTosEcommercebackendnode_modulesnodemailerlibsmtp-connectionindex.js:749:14)
    at TLSSocket.SMTPConnection._onSocketData (C:web-projectsAngular appsTosEcommercebackendnode_modulesnodemailerlibsmtp-connectionindex.js:195:44) {
  code: 'EAUTH',
  command: 'API'
}
  

Пытались заменить ключевого пользователя и передать фактическое значение, но ошибка все равно возникает. Любая помощь приветствуется, большое вам спасибо.

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

1. Я знаю, что вы также тестировали его, используя жестко заданные значения для user и pass. Но вы проверили значения для user и pass, которые поступают из .env file. Если они верны или нет, регистрируя их?

2. Использование process.env.email и process.env.pasword

Ответ №1:

Аналогичный код будет работать для меня в моей среде разработки, но не на производстве. Я предположил, что значения из моего .env не были приняты во внимание. Итак, я жестко запрограммировал значения для user и pass , и это сработало. Я читал, что вы уже проверили это, поэтому вы можете попробовать другие значения для port и secure ? Эти работали для меня :

 const transporterOVH = nodemailer.createTransport({
   host: "ssl0.ovh.net",
   port: 465,
   secure: true, 
   auth: {
     user: "contact@mycompany.com",
     pass: "HARDCODED_PASSWORD"
   },
         tls:{
       ciphers:'SSLv3'
   }
 });
  

Извините за неточность, мне просто захотелось поделиться тем, что сработало в моем случае. Хорошего дня!