我在NodeJs NodeMailer与Express服务器中得到错误



我是node js的新手。我想使用nodemailer的联系形式,但我得到一个错误消息反复,这就像用户名和通过不被接受。我正试图解决这个问题,但我不能。这是我的代码和控制台错误。

Error: Invalid login: 535-5.7.8 Username and Password not accepted. Learn more at
535 5.7.8  https://support.google.com/mail/?p=BadCredentials a2-20020a17090a70c200b001e2a36fb4aasm4621401pjm.43 - gsmtp
at SMTPConnection._formatError (C:UsersAsusDocumentsonline educationnode_modulesnodemailerlibsmtp-connectionindex.js:784:19)
at SMTPConnection._actionAUTHComplete (C:UsersAsusDocumentsonline educationnode_modulesnodemailerlibsmtp-connectionindex.js:1536:34)
at SMTPConnection.<anonymous> (C:UsersAsusDocumentsonline educationnode_modulesnodemailerlibsmtp-connectionindex.js:540:26)
at SMTPConnection._processResponse (C:UsersAsusDocumentsonline educationnode_modulesnodemailerlibsmtp-connectionindex.js:947:20)
at SMTPConnection._onData (C:UsersAsusDocumentsonline educationnode_modulesnodemailerlibsmtp-connectionindex.js:749:14)
at TLSSocket.SMTPConnection._onSocketData (C:UsersAsusDocumentsonline educationnode_modulesnodemailerlibsmtp-connectionindex.js:189:44)
at TLSSocket.emit (events.js:400:28)
at addChunk (internal/streams/readable.js:290:12)
at readableAddChunk (internal/streams/readable.js:265:9)
at TLSSocket.Readable.push (internal/streams/readable.js:204:10) {
code: 'EAUTH',
response: '535-5.7.8 Username and Password not accepted. Learn more atn' +
'535 5.7.8  https://support.google.com/mail/?p=BadCredentials a2-20020a17090a70c200b001e2a36fb4aasm4621401pjm.43 - gsmtp',  
responseCode: 535,
command: 'AUTH PLAIN'
}
const express= require('express');
const app=express();
const nodemailer = require('nodemailer');
const PORT=process.env.PORT || 5000;
app.use(express.static('public'));
app.use(express.json())
app.get('/',(req,res)=>{
res.sendFile(__dirname + '/public/contact.html');
});
app.post('/',(req,res)=>{
console.log(req.body);
const transporter= nodemailer.createTransport({
service:'gmail',
auth: {
user:'tr8622043',
pass: 'trisha082215'
},
});
const mailOptions={
from: req.body.email,
to:'tr8622043@gmail.com',
subject:`Message from ${req.body.email} : ${req.body.subject} `,
text: req.body.message
}
transporter.sendMail(mailOptions,(error,info)=>{
if(error){
console.log(error);
res.send('error');
}else{
console.log('Email sent:'+ info.response);
res.send('successful');
}
})
})
app.listen(PORT,()=>{
console.log(`Server running on port ${PORT}`)
})

也许你可以试试这个

  1. 去Google账号->安全→登录Google - App密码
  2. 选择邮件&电脑接下来单击generate(替换代码中的当前密码)

确保你的两步验证是在第一步

Ps:别忘了重启你的服务器

相关内容

最新更新