使用nodemailer在node.js中发送邮件

我尝试使用Nodemailer在node.js中发送邮件,但是它显示了一些错误,如{ [Error: self signed certificate in certificate chain] code: 'ECONNECTION', command: 'CONN' }

我的node.js代码是

 var express = require('express'); var app = express(); var nodemailer = require('nodemailer'); var transporter = nodemailer.createTransport('smtps://something%40gmail.com:password@smtp.gmail.com'); var mailOptions = { to: 'stevecameron2016@gmail.com', subject: 'Hello ?', text: 'Hello world ??', html: '<b>Hello world ??</b>' }; transporter.sendMail(mailOptions, function(error, info){ if(error){ return console.log(error); } console.log('Message sent: ' + info.response); }); var server = app.listen(8900,function(){ console.log("We have started our server on port 8900"); }); 

要允许通过“不太安全的应用程序”发送电子邮件,请转到链接并select“打开”。

(有关更安全的应用程序的更多信息

 var nodemailer = require('nodemailer'); var smtpTransport = require('nodemailer-smtp-transport'); var mailAccountUser = '<YOUR_ACCOUNT_USER>' var mailAccountPassword = '<YOUR_ACCOUNT_PASS>' var fromEmailAddress = '<FROM_EMAIL>' var toEmailAddress = 'TO_EMAIL' var transport = nodemailer.createTransport(smtpTransport({ service: 'gmail', auth: { user: mailAccountUser, pass: mailAccountPassword } })) var mail = { from: fromEmailAddress, to: toEmailAddress, subject: "hello world!", text: "Hello!", html: "<b>Hello!</b><p><a href=\"http://www.yahoo.com\">Click Here</a></p>" } transport.sendMail(mail, function(error, response){ if(error){ console.log(error); }else{ console.log("Message sent: " + response.message); } transport.close(); }); 

尝试https://github.com/nodemailer/nodemailer/issues/406

tls: { rejectUnauthorized: false }到您的传输器构造器选项

ps发送邮件服务器地址不是一个好主意,如果它是真实的

我也在这个麻烦,我做了下一个代码行:

process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";

在创buildsmpttransport之前

例如,在你的代码只是把这个:

process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; var transporter = nodemailer.createTransport('smtps://something%40gmail.com:password@smtp.gmail.com');