使用nodemailer

时间:2017-01-23 10:16:31

标签: node.js email gmail nodemailer

我正在使用node.js nodemailer v2.5.0使用gmail发送电子邮件。我使用此网站https://community.nodemailer.com/作为参考。

这是我的代码。

var nodemailer = require('nodemailer');

// create reusable transporter object using the default SMTP transport
var transporter = nodemailer.createTransport('smtp://user%40gmail.com:password@smtp.gmail.com');

// setup e-mail data with unicode symbols
var mailOptions = {
    from: '"Fred Foo ?" <user@gmail.com>', // sender address
    to: 'user1@gmail.com, user2@bgmail.com', // list of receivers
    subject: 'Hello ✔', // Subject line
    text: 'Hello world ?', // plaintext body
    html: '<b>Hello world ?</b>' // html body
};

// send mail with defined transport object
transporter.sendMail(mailOptions, function(error, info){
    if(error){
        return console.log(error);
    }
    console.log('Message sent: ' + info.response);
});

运行上面的代码后,我收到以下错误;

{ Error: self signed certificate in certificate chain
    at Error (native)
    at TLSSocket.<anonymous> (_tls_wrap.js:1079:38)
    at emitNone (events.js:86:13)
    at TLSSocket.emit (events.js:185:7)
    at TLSSocket._finishInit (_tls_wrap.js:603:8)
    at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:433:38) code: 'SELF_SIGNED_CERT_IN_CHAIN' }

1 个答案:

答案 0 :(得分:1)

将nodemailer与gmail一起使用时,您需要启用&#34;安全性较低的&#34;您的Google帐户功能。您的代码使用纯文本密码登录,因此&#34;安全性较低&#34;功能需要启用。

有关详细信息,请参阅https://community.nodemailer.com/using-gmail/

就个人而言,我更喜欢Oauth2身份验证来访问gmail服务。由于您使用的是node.js,因此该节点模块应该很有用。

https://www.npmjs.com/package/gmail-node