amazon-web-services - AWS 简单电子邮件服务适用于本地主机,但不适用于生产 Amazon EC2 服务器

标签 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 服务时,我得到了这个:

Response status code does not indicate success: 404 (Not Found)

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

最佳答案

万一其他人有同样的问题,更改为端口 587 解决了问题。

默认情况下,EC2 对端口 25 有非常严格的限制。您可以通过填写正式请求逐个 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

关于amazon-web-services - AWS 简单电子邮件服务适用于本地主机,但不适用于生产 Amazon EC2 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51694628/

相关文章:

asp.net-core - Kubernetes 上的 SignalR,让我们加密入口服务

ruby-on-rails - Rails 3 上的 404 err 部署到 AWS...很好,除了 EB 不复制/ondeck 到/current

linux - 检查端口转发是否适用于 AWS 机器上的 Node 服务器

amazon-web-services - 我的 Docker 容器在 AWS EC2 Ubuntu 实例上运行。当我转到公共(public) IPv4 DNS 时,我的浏览器显示 "refused to connect."

amazon-ec2 - Bitnami Wordpress Stack SSH

amazon-web-services - 将现有 EC2 实例导出到 CloudFormation json/yaml

amazon-web-services - 如何获取 AWS Autoscaling 启动实例的 pem 文件

tomcat - 亚马逊AWS和tomcat不间断(优雅)部署

c# - 在系统启动时启动 WPF 应用程序时出错

.net-core - 有没有办法使 .NET Core GetHashCode 具有确定性