我有一段简单的代码无法按预期工作。我正在使用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!');
});
我收到了在控制台中发送的消息。但收件箱中没有电子邮件。
答案 0 :(得分:1)
对于gmail服务,我使用:
'*the-nothing*
但是您需要在您的Gmail帐户上允许不太安全的身份验证,否则不会发送电子邮件。 我认为步骤是:
答案 1 :(得分:0)
您可以查看错误消息。
...
smtpTransport.sendMail(mailOptions, function(err) {
if(err)
{
console.log(err);
}
else
{
console.log('Message sent!');
}
});
因为在您的示例代码中,即使节点制作者返回有效错误,它仍会打印消息已发送
有些时候邮件可以排队或在mailOptions中说出任何类型的错误,邮件无法传递。
答案 2 :(得分:0)
找到了这个SO:self signed certificate in certificate chain error in mail。 我需要添加它,它对我有用。
let transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: 'myemail@gmail.com',
pass: 'password'
},
tls: {
rejectUnauthorized: false
}
});