我正在使用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' }
答案 0 :(得分:1)
将nodemailer与gmail一起使用时,您需要启用&#34;安全性较低的&#34;您的Google帐户功能。您的代码使用纯文本密码登录,因此&#34;安全性较低&#34;功能需要启用。
有关详细信息,请参阅https://community.nodemailer.com/using-gmail/。
就个人而言,我更喜欢Oauth2身份验证来访问gmail服务。由于您使用的是node.js,因此该节点模块应该很有用。