通过nodemailer发送电子邮件不工作
问题描述:
我有一个简单的代码不按预期工作。我正在使用nodemailer。通过nodemailer发送电子邮件不工作
var nodemailer = require('nodemailer');
var smtpTransport = nodemailer.createTransport('SMTP', {
service: 'Gmail',
auth: {
user: 'personal gmail address',
pass: 'password'
}
});
var mailOptions = {
from: 'personal gmail address',
to: 'personal gmail address',
subject: 'Hello world!',
text: 'Plaintext message example.'
};
smtpTransport.sendMail(mailOptions, function(err) {
console.log('Message sent!');
});
我收到控制台发送的消息。但收件箱中没有电子邮件。
答
的Gmail服务,我用这个:
const smtpTransport = require('nodemailer-smtp-transport')
const nodemailer = require('nodemailer')
const transport = nodemailer.createTransport(smtpTransport({
service: 'gmail',
auth: {
user: 'email',
pass: 'pass'
}
}))
但你需要让你的Gmail帐户或电子邮件不太安全认证不发送。 我觉得步骤是:
- 转到:https://www.google.com/settings/security/lesssecureapps
- 设置安全性较低的应用程序设置访问启用
+0
@jaumard ...没有工作。我已经改变了设置。 – user2281858
+0
禁用您的防病毒并尝试。我能够做到 – siddmuk2005
答
您可以检查错误消息。
...
smtpTransport.sendMail(mailOptions, function(err) {
if(err)
{
console.log(err);
}
else
{
console.log('Message sent!');
}
});
因为在示例代码中你有,即使nodemailer返回有效的错误,它仍然会打印信息已发出
一些时间的消息可排队或者说在mailOptions任何类型的错误,该消息不能被传递。
检查您的垃圾邮件文件夹 – admix
@admix,也不会在垃圾邮件文件夹中禁止任何操作。 – user2281858