通过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!'); 
}); 

我收到控制台发送的消息。但收件箱中没有电子邮件。

+0

检查您的垃圾邮件文件夹 – admix

+0

@admix,也不会在垃圾邮件文件夹中禁止任何操作。 – user2281858

的Gmail服务,我用这个:

const smtpTransport = require('nodemailer-smtp-transport') 
const nodemailer = require('nodemailer') 

const transport = nodemailer.createTransport(smtpTransport({ 
    service: 'gmail', 
    auth: { 
    user: 'email', 
    pass: 'pass' 
    } 
})) 

但你需要让你的Gmail帐户或电子邮件不太安全认证不发送。 我觉得步骤是:

+0

@jaumard ...没有工作。我已经改变了设置。 – user2281858

+0

禁用您的防病毒并尝试。我能够做到 – siddmuk2005

您可以检查错误消息。

... 
smtpTransport.sendMail(mailOptions, function(err) { 
    if(err) 
    { 
    console.log(err); 
    } 
    else 
    { 
    console.log('Message sent!'); 
    } 
}); 

因为在示例代码中你有,即使nodemailer返回有效的错误,它仍然会打印信息已发出

一些时间的消息可排队或者说在mailOptions任何类型的错误,该消息不能被传递。