【发布时间】:2019-09-03 03:13:38
【问题描述】:
当我尝试从 nodemailer 发送电子邮件时,我收到一个错误:EAUTH API 我尝试将 Hotmail 和 Gmail 作为我的服务,因为我从文档中了解到,如果 Gmail 不起作用,请不要使用它。然而,这似乎不是问题。
我想使用此电子邮件在我的应用中启用忘记密码
代码:
var smtpTransport = nodemailer.createTransport({
service: 'Hotmail',
auth: {
user: email,
pass: pass
}
});
router.post('/forgotpassword', function(req, res){
async.waterfall([
function(done) {
User.findOne({
email: req.body.email
}).exec(function(err, user) {
if (user) {
done(err, user);
} else {
done('User not found.');
}
});
},
function(user, done) {
// create the random token
crypto.randomBytes(20, function(err, buffer) {
var token = buffer.toString('hex');
done(err, user, token);
});
},
function(user, token, done) {
User.findByIdAndUpdate({ _id: user._id }, { reset_password_token: token, reset_password_expires: Date.now() + 86400000 }, { upsert: true, new: true }).exec(function(err, new_user) {
done(err, token, new_user);
});
},
function(token, user, done) {
var data = {
to: user,
from: email,
template: 'forgot-password-email',
subject: 'Password help has arrived!',
context: {
url: 'http://localhost:3000/user/reset_password?token=' + token,
name: req.body.email
}
};
smtpTransport.sendMail(data, function(err) {
if (!err) {
return res.json({ message: 'Kindly check your email for further instructions' });
} else {
return done(err);
}
});
}
], function(err) {
return res.status(422).json({ message: err });
});
});
我的邮箱和密码是正确的。
邮递员的错误是
{"message":{"code":"EAUTH","command":"API"}}
【问题讨论】:
标签: node.js nodemailer