无法使用NodeEmailer和Node.js发送邮件
我无法使用Node.js发送邮件。我得到下面的错误无法使用NodeEmailer和Node.js发送邮件,node.js,heroku,nodemailer,Node.js,Heroku,Nodemailer,我无法使用Node.js发送邮件。我得到下面的错误 { "error": { "code": "EAUTH", "response": "534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbvp\n534-5.7.14 j_smRtzyG0TYeMSMFUYlhfCGtpt9DmDE4ZR140rMTKNkk0ZwgtIEQ6Ki
{
"error": {
"code": "EAUTH",
"response": "534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbvp\n534-5.7.14 j_smRtzyG0TYeMSMFUYlhfCGtpt9DmDE4ZR140rMTKNkk0ZwgtIEQ6Kik51kVBedggHrBA\n534-5.7.14 3mM-ha-68KYhP-IPiHTVQkjUj6HlwdSciwJUgyRqIYKTxTtA9N96CmRzCRiPpIPMf6UGu3\n534-5.7.14 ismcOTMvxqQK2naujp_fgkbLjzwPMj47j5cOoaWdIkdwy4qmqMXnw8ib3sdkRfBeUgjVGB\n534-5.7.14 iiSXqql1vBLMkKnk_HNyGdeQu8OwI> Please log in via your web browser and\n534-5.7.14 then try again.\n534-5.7.14 Learn more at\n534 5.7.14 https://support.google.com/mail/answer/78754 k97sm25351307qkh.29 - gsmtp",
"responseCode": 534,
"command": "AUTH PLAIN"
}
}
{
“错误”:{
“代码”:“EAUTH”,
“响应”:“534-5.7.14请通过web浏览器和\n534-5.7.14登录,然后重试。\n534-5.7.14有关详细信息,请访问\n534 5.7.14https://support.google.com/mail/answer/78754 k97sm25351307qkh.29-gsmtp“,
“响应代码”:534,
“命令”:“普通身份验证”
}
}
这是我的密码:
var nodemailer = require("nodemailer");
var smtpTransport = nodemailer.createTransport({
service: 'Gmail',
auth: {
user: 'subhrajyoti@gmail.com',
pass: '********'
}
});
rand=crypto.randomBytes(20).toString('hex');
host=req.get('host');
link="http://"+req.get('host')+"/api/users/verify?id="+rand;
mailOptions={
from: "subhrajyotipradhan@gmail.com",
to : email,
subject : "Please confirm your Vodex account",
html : "Hello,<br> Please Click on the link to verify your Account.<br><a href="+link+">Click here to verify</a>"
}
smtpTransport.sendMail(mailOptions,function(error, response){
if (error) {
var data={'error':error};
res.send(data);
}else{
db.f_user_login.update({_id : docs._id },{$set:{verification_id:rand}},function(err,doc){
if (!err) {
var edata=[{"email": docs.email,"dob": docs.dob,"created_date":docs.created_date ,"id": docs._id,"updated_date":docs.updated_date}];
var data={"statusCode": 200,"data":edata ,"message": "The user registered successfull and an email is sent to your registered email for account verification."};
res.send(data);
}
})
}
})
var nodemailer=require(“nodemailer”);
var smtpTransport=nodemailer.createTransport({
服务:“Gmail”,
认证:{
用户:'subhrajyoti@gmail.com',
通过:“*********”
}
});
rand=crypto.randomBytes(20).toString('hex');
host=req.get('host');
link=“http://”+req.get('host')+”/api/users/verify?id=“+rand;
邮件选项={
来自:subhrajyotipradhan@gmail.com",
致:电邮:,
主题:“请确认您的Vodex帐户”,
html:“您好,
请单击链接验证您的帐户。
”
}
发送邮件(邮件选项,函数(错误,响应){
如果(错误){
变量数据={'error':error};
res.send(数据);
}否则{
db.f_user_login.update({u id:docs.{u id},{$set:{verification_id:rand}}),函数(err,doc){
如果(!err){
var-edata=[{“email”:docs.email,“dob”:docs.dob,“created_date”:docs.created_date,“id”:docs._id,“updated_date”:docs.updated_date}];
var data={“statusCode”:200,“data”:edata,“message”:“用户注册成功,并向您注册的电子邮件发送一封电子邮件以进行帐户验证。”};
res.send(数据);
}
})
}
})
这段代码在
localhost:8989
上运行良好,但是现在我已经在Heroku中部署了这段代码,我的URL是这样的https://node-fgdp.herokuapp.com/api/users/signup
。在这里,我无法发送邮件并获得上述错误。我需要使用nodeEmailer和Node.js发送邮件 作为安全预防措施,谷歌可能要求您在登录新设备或应用程序时完成一个名为解锁验证码的附加步骤
您可能需要手动允许访问您的Google帐户
使用浏览器登录到您的Google帐户,然后访问以下链接以解锁该帐户:
单击“允许”按钮后,您将看到以下消息:
帐户访问已启用。请尝试从新设备或应用程序再次登录您的Google帐户
参考:尝试将密码更改为强密码,例如:a-Z+a-Z+(符号>3)+数字示例:Test$#@54321