我正尝试在nodejs应用程序中使用nodemailer发送电子邮件。我尝试使用gmail发送,一切正常但是当我使用Mandrill作为我的SMTP提供程序时,我收到了身份验证错误。
这是我的代码:
var smtpTransport = nodemailer.createTransport("SMTP",{
service: "Mandrill",
auth: {
user: "username@mydomain.com",
pass: "*****"
}
});
module.exports.sendEmail = function(to, subject, body, callback){
smtpTransport.sendMail({
from: "username@mydomain.com",
to: to,
subject: subject,
html: body
}, function(error, response){
if(error){
console.log(error); callback(error, response);
}else{
callback(null, response);
}
});
};
};
那就是我得到的错误
{ [AuthError: Invalid login - 435 4.7.8 Error: authentication failed:]
name: 'AuthError',
data: '435 4.7.8 Error: authentication failed:',
stage: 'auth' }
答案 0 :(得分:7)
我遇到了类似的问题。在我的情况下,身份验证错误是因为mandrill不接受您的mandrill帐户密码作为smtp身份验证密码,而是您可以在仪表板上生成的api密钥。用户名与您的帐户用户名相同。误解的产生可能是因为在mandrill的主页上有例子,但它在SMTP& API凭据页面(一旦登录),smtp密码是api密钥。
希望这有帮助。