错误:连接ECONNREFUSED 127.0.0.1:465 nodemailer

我正在使用我的Gmail帐户发送SMTP邮件给我的用户的邮件。 例如,注册或帐户被封锁等。我正在使用一个nodemailer,电子邮件发送成功,没有一个单一的失败。 以下是我的代码。

var nodemailer = require("nodemailer"); // create reusable transport method (opens pool of SMTP connections) var smtpTransport = nodemailer.createTransport("SMTP",{ service: "Gmail", auth: { user: "gmail.user@gmail.com", pass: "userpass" } }); // setup e-mail data with unicode symbols var mailOptions = { from: "Fred Foo ✔ <foo@blurdybloop.com>", // sender address to: "bar@blurdybloop.com, baz@blurdybloop.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 smtpTransport.sendMail(mailOptions, function(error, response){ if(error){ console.log(error); }else{ console.log("Message sent: " + response.message); } // if you don't want to use this transport object anymore, uncomment following line //smtpTransport.close(); // shut down the connection pool, no more messages }); 

就在昨天,注册为企业帐户的谷歌我的@mydomain帐户,然后用我的新的谷歌业务电子邮件

 var smtpTransport = nodemailer.createTransport("SMTP",{ service: "Gmail", auth: { user: "user@mydomain.com", pass: "userpass" } }); 

问题是,它不会以新帐户发送电子邮件。 它相当于在我的控制台上返回了标题错误。 我试图改变我的新帐户的安全性,以允许从谷歌控制台不太安全的应用程序都无济于事。 请问这个错误意味着什么? 另外考虑到我的电子邮件用户名和密码被使用,是最好的select? 请如何最好地实现? 任何帮助,将不胜感激。

谢谢你的时间。 以下是对我有用的东西。

 nodemailer.createTransport('smtps://user%myDomain.com:pass@smtp.gmail.com'); 

变成

 var smtpConfig = { host: 'smtp.gmail.com', port: 465, secure: true, // use SSL auth: { user: 'user@myDomain.com', pass: 'pass@pass' } }; var transporter = nodemailer.createTransport(smtpConfig); 

我在Doc https://github.com/nodemailer/nodemailer上find了上面的例子&#x3002; 我怀疑这可能发生在你身上,如果你的密码包含@符号考虑你和smtps链接。 因此,build议将其分割成不带@符号的对象来干扰您的smtpsurl。 这是我的想法。 尽pipe如此,上述解决scheme适用于我。 另外不要忘记,从您的谷歌控制台允许不太安全的应用程序。