首页 > 解决方案 > Nodemailer没有登录

问题描述

我想从节点后端发送一封电子邮件,我正在使用 nodemailer 库进行快递来实现这一目标。我编写了以下代码来配置 nodemailer 的传输和其他详细信息

                let transport = nodemailer.createTransport({
                  host: 'mail.myrandomhost.in',
                  port: 587,
                  tls: {
                    rejectUnauthorized:false
                },
                  secure: false,
                  auth: {
                     user: 'me@myemail.in',
                     pass: 'Gr3aseMonk3y'
                  }
              });

              const message = {
                from: 'me@myemail.in',
                to: 'youremail@gmail.com',
                subject: 'test email',
                html: '<h1>Hey</h1><p>This is test <b>Tesla</b> email</p>'
            };
            transport.sendMail(message, function(err, info) {
                if (err) {
                  console.log('-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=');
                  console.log("FAILED");
                  console.log('=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-');
                  console.log(err)
                } else {
                  console.log('====================================');
                  console.log("Email sent");
                  console.log('====================================');
                  console.log(info);
                }
            });

当我运行它时,我收到以下错误

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
FAILED
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Error: Invalid login: 535 Incorrect authentication data
    at SMTPConnection._formatError (/Users/sarthak/Desktop/CodingEnvironments/NodeJS/templates/node_modules/nodemailer/lib/smtp-connection/index.js:784:19)
    at SMTPConnection._actionAUTHComplete (/Users/sarthak/Desktop/CodingEnvironments/NodeJS/templates/node_modules/nodemailer/lib/smtp-connection/index.js:1523:34)
    at SMTPConnection.<anonymous> (/Users/sarthak/Desktop/CodingEnvironments/NodeJS/templates/node_modules/nodemailer/lib/smtp-connection/index.js:550:26)
    at SMTPConnection._processResponse (/Users/sarthak/Desktop/CodingEnvironments/NodeJS/templates/node_modules/nodemailer/lib/smtp-connection/index.js:942:20)
    at SMTPConnection._onData (/Users/sarthak/Desktop/CodingEnvironments/NodeJS/templates/node_modules/nodemailer/lib/smtp-connection/index.js:749:14)
    at TLSSocket.SMTPConnection._onSocketData (/Users/sarthak/Desktop/CodingEnvironments/NodeJS/templates/node_modules/nodemailer/lib/smtp-connection/index.js:195:44)
    at TLSSocket.emit (events.js:210:5)
    at addChunk (_stream_readable.js:309:12)
    at readableAddChunk (_stream_readable.js:290:11)
    at TLSSocket.Readable.push (_stream_readable.js:224:10)
    at TLSWrap.onStreamRead (internal/stream_base_commons.js:182:23) {
  code: 'EAUTH',
  response: '535 Incorrect authentication data',
  responseCode: 535,
  command: 'AUTH PLAIN'
}

我正在使用正确的细节。我该如何解决这个问题?

标签: javascriptnode.jsemailnodemailer

解决方案


您输入了错误的数据。您必须将host,更改from为真实地址。例子:

let transport = nodemailer.createTransport({
                  host: 'smtp.gmail.com',
                  port: 465,
                  tls: {
                    rejectUnauthorized:true
                },
                  secure: false,
                  auth: {
                     user: 'yourRealEmail@gmail.com',
                     pass: 'yourPassword'
                  }
              });

              const message = {
                from: 'yourRealEmail@gmail.com',
                to: 'RealEmailAddress@gmail.com',
                subject: 'test email',
                html: '<h1>Hey</h1><p>This is test <b>Tesla</b> email</p>'
            };
            transport.sendMail(message, function(err, info) {
                if (err) {
                  console.log('-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=');
                  console.log("FAILED");
                  console.log('=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-');
                  console.log(err)
                } else {
                  console.log('====================================');
                  console.log("Email sent");
                  console.log('====================================');
                  console.log(info);
                }
            });

推荐阅读