我尝试使用Nodemailer发送一封包含我的GMail帐户的电子邮件,但它不起作用,它可以在本地工作但在我的远程服务器上我收到来自Google的电子邮件“有人正在使用您的帐户....” / p>
我该怎么办?
exports.contact = function(req, res){
var name = req.body.name;
var from = req.body.from;
var message = req.body.message;
var to = '******@gmail.com';
var transport = nodemailer.createTransport("SMTP", {
service: 'Gmail',
auth: {
XOAuth2: {
user: "******@gmail.com",
clientId: "*****",
clientSecret: "******",
refreshToken: "******",
}
}
});
var options = {
from: from,
to: to,
subject: name,
text: message
}
transport.sendMail(options, function(error, response) {
if (error) {
console.log(error);
} else {
console.log(response);
}
transport.close();
});
}
答案 0 :(得分:1)
查看Unable to send email via google smtp on centos VPS的解决方案:
在我的情况下,我的脚本在VPS上,所以我无法用浏览器加载任何URL。我做了什么:改变了我的gmail pw。 Gmail>设置>帐户。然后在Google帐户中他们列出了谷歌阻止的可疑登录(这些是我的脚本尝试登录)。然后我点击了选项“是的,那是我”。之后,我的脚本工作(使用新的pw)。