我已经设置了一个基本的NodeJS服务器(使用nodemailer模块)在本地(http://localhost:8080
),只是为了测试服务器是否能够真正发送电子邮件。
如果我正确理解SMTP选项(如果我理解有误,请纠正我),我可以直接从我的服务器尝试向某人的电子邮件帐户发送电子邮件,或者我可以通过实际的电子邮件帐户(在这种情况下是我的个人Gmail帐户)使用Node.js发送电子邮件,即使用SMTP。这个选项需要我通过NodeJS远程登录到该帐户。
因此,在下面的服务器中,我实际上正在尝试使用NodeJs从我的个人电子邮件帐户向我的个人电子邮件帐户发送电子邮件。
以下是我的简单服务器:
var nodemailer = require('nodemailer');
var transporter = nodemailer.createTransport("SMTP", {
service: 'Gmail',
auth: {
user: '*my personal Gmail address*',
pass: '*my personal Gmail password*'
}
});
var http = require('http');
var httpServer = http.createServer(function (request, response)
{
transporter.sendMail({
from: '*my personal Gmail address*',
to: '*my personal Gmail address*',
subject: 'hello world!',
text: 'hello world!'
});
}).listen(8080);
但是它没有起作用。 我收到了一封谷歌电子邮件,上面写着:
Google帐户:登录尝试被阻止 如果这是您本人的操作 您可以切换到由谷歌制作的应用程序(例如Gmail)以访问您的帐户(推荐),或者在https://www.google.com/settings/security/lesssecureapps更改您的设置, 使您的帐户不再受现代安全标准的保护。
我在nodemailer GitHub页面上找不到以上问题的解决方案。 有人有解决方案/建议吗?
谢谢!:-)