ec2 node.js服务器不发送电子邮件 - 任何想法?

时间:2015-12-25 00:05:15

标签: node.js email amazon-web-services amazon-ec2

我有一个网站,我会在一年之后恢复正常状态。我没有进行任何代码更改,我已经恢复了网站,除了网站/应用程序发送电子邮件之外,一切正常。

这是一个ubuntu node.js服务器。它托管在亚马逊上,我不得不创建另一个实例并重新命名dns等。过去工作的示例代码片段现在却没有:

var emailServer  = email.server.connect({user:"<my gmail>",password:"<mypw>",host:"smtp.gmail.com",ssl:true});
emailServer.send({
          text:    "Your username is: " + userName + ".", 
          to:      emailAddress,
          subject: "Activate Your a2zCribbage Account",
          attachment: [...]
        }, function(err, message) { if (err) console.log(err); });

当我第一次尝试发送电子邮件时,我使用的gmail帐户收到了“禁止登录尝试”的消息。有人刚刚尝试登录到您的Google帐户&lt; account&gt;来自不符合现代安全标准的应用程序。

我按照Google的说法改变了安全性以允许应用,但仍然没有发送任何内容。

我错过了什么?我还可以尝试其他什么? ec2服务器不仅允许默认发送电子邮件吗?

1 个答案:

答案 0 :(得分:2)

Gmail is not a platform for sending automated email.仅仅因为可以并不意味着它是为此而设计的。

AWS EC2 instances are also problematic for sending email;这些端口可能被阻止或throttled,这样做肯定会获得更高的垃圾邮件分数。

规范解决方案是使用AWS SESHere's sample codehere's the documentation。还有a simple third-party library