AWS简单电子邮件服务可在localhost上运行,但不适用于生产EC2服务器

时间:2018-08-05 13:12:24

标签: amazon-web-services amazon-ec2 .net-core aws-sdk amazon-ses

所以我正在为我的网站开发邮件API。情况如下:

  1. 客户连接到端点。
  2. API终结点处理请求并使用邮件服务(基于aws sdk)发送电子邮件。
  3. API根据结果返回Ok / BadRequest。

使用在本地主机上运行的API进行此操作时,一切正常,并且按预期在我的邮箱中收到电子邮件。但是,当我在Amazon EC2实例上运行我的API服务时,我得到的是:

  

响应状态代码未指示成功:404(未找到)

我再次检查了我的本地主机和EC2实例(ubuntu 16.10)上是否都有.aws / credentials文件。我可以在EC2实例上正常运行我的API服务,因为得到了BadRequest响应。问题是当邮件服务尝试使用亚马逊SES发送电子邮件时。我相信这不是代码本身,因为它可以在localhost上正常运行。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

如果其他人遇到相同的问题,则更改为端口587可以解决问题。

默认情况下,Ec2在端口25上具有非常严格的限制。您可以通过填写正式请求将IP逐IP列入白名单,但是如果要发送到SES,我们建议您使用端口587或2587。

有关端口25上EC2节流阀的更多信息: https://aws.amazon.com/premiumsupport/knowledge-center/ec2-port-25-throttle/

有关SES可用SMTP端口的更多信息: https://docs.aws.amazon.com/ses/latest/DeveloperGuide/smtp-connect.html

相关问题