如何解决我在使用 nodemailer 时遇到错误
here's my UserController.js where i am receiving user email and password as a post request
const User = require('../models/User');
const nodemailer = require('nodemailer');
module.exports.User = (req,res) => {
if(req.body.password != req.body.confirm_password){
res.redirect('back')
}
User.findOne({email: req.body.email},function(err,user){
//error in creating the user
if(err){console.log('error in creating the user');}
//if user doesnot initially exist in the daatbase
if(!user){
User.create(req.body,user){
if(err){console.log('error');}
console.log('User created');
})
return res.send('<script>alert("User created")</script>');
}
else{
console.log('User already present in the database');
let mailTransporter = nodemailer.createTransport({
service: 'gmail',host: 'smtp.gmail.com',auth: {
email: 'my_email',pass: 'my_email_password'
}
});
let mailDetails = {
from: 'my_email',to: req.body.email,subject: 'from dhruv singhal as a project',text: 'your data is successfully stored on our database'
};
mailTransporter.sendMail(mailDetails,data) {
if(err) {
console.log(err);
} else {
console.log('Email sent successfully');
}
});
res.send('<script>alert("your have already got mail from our side")</script>')
}
})
}
i am getting error as :-
/* 错误:缺少“PLAIN”的凭据
在 SMTPConnection._formatError (C:\Users\dhruv singhal\Desktop\web_development_project\node_modules\nodemailer\lib\smtp-connection\index.js:774:19)
在 SMTPConnection.login (C:\Users\dhruv singhal\Desktop\web_development_project\node_modules\nodemailer\lib\smtp-connection\index.js:438:38)
在 C:\Users\dhruv singhal\Desktop\web_development_project\node_modules\nodemailer\lib\smtp-transport\index.js:271:32
在 SMTPConnection。 (C:\Users\dhruv singhal\Desktop\web_development_project\node_modules\nodemailer\lib\smtp-connection\index.js:209:17)
在 Object.onceWrapper (events.js:421:28)
在 SMTPConnection.emit (events.js:315:20)
在 SMTPConnection._actionEHLO (C:\Usenter code here
ers\dhruv singhal\Desktop\web_development_project\node_modules\nodemailer\lib\smtp-connection\index.js:1303:14)
在 SMTPConnection._processResponse (C:\Users\dhruv singhal\Desktop\web_development_project\node_modules\nodemailer\lib\smtp-connection\index.js:932:20)
在 SMTPConnection._onData (C:\Users\dhruv singhal\Desktop\web_development_project\node_modules\nodemailer\lib\smtp-connection\index.js:739:14)
在 TLSSocket.SMTPConnection._onSocketData (C:\Users\dhruv singhal\Desktop\web_development_project\node_modules\nodemailer\lib\smtp-connection\index.js:189:44)
在 TLSSocket.emit (events.js:315:20)
在 addChunk (_stream_readable.js:295:12)
在 readableAddChunk (_stream_readable.js:271:9)
在 TLSSocket.Readable.push (_stream_readable.js:212:10)
在 TLSWrap.onStreamRead (internal/stream_base_commons.js:186:23) {
代码:'EAUTH',
命令:'API'
}
i have enabled less secure apps on google please help
complete github code :-https://github.com/dhruv354/form.git*/
解决方法
您是否在启用 less secure app
的基础上完成了“验证码挑战”?
https://accounts.google.com/b/0/displayunlockcaptcha
,我相信您需要 email: 'my_email'
而不是 user: 'my_email'
。请参阅 this nodemailer 示例。
如另一个答案中所述:第一次从您的应用发送之前,请从相关的 Google 帐户点击此:https://accounts.google.com/DisplayUnlockCaptcha
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。