0

我目前有一个在容器(ECS)中运行的后端,这个后端有一个用于发送电子邮件(用户密码恢复)的 SES 服务。

我在后端使用 SUBNET 实现了相同的场景,但发送电子邮件不再有效。

在我的旧场景(不使用子网)和本地主机中,发送电子邮件都非常有效。

在此处输入图像描述

我从容器中进行了 ping 测试并得到了超时答案: 在此处输入图像描述

4

1 回答 1

0

在这种情况下,您似乎有错误的地址,您 在端点上定义了 email-smtp.us-east-1.amazonaws.com( email-smtp ),并且在您的 ping 中定义了email.us-east-1.amazonaws.com( email )。请记住,如果不允许 ICMP 通过,Ping 可能不会响应。

要更广泛地回答这个问题,您有 2 个选项:

  1. 确保您在子网上正确配置了 Internet 网关,并且添加到 ECS 主机的安全组允许到端口 25(这受 AWS 限制)、587 或 2587 的传出流量,具体取决于您用来与 SES 通信的端口:https ://docs.aws.amazon.com/ses/latest/DeveloperGuide/smtp-connect.html

  2. 在您的子网上创建一个 SES VPC 端点,然后将您的所有 SES 请求定向到这个新的端点/IP 地址:https ://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-set-up- vpc-endpoints.html

如果其中任何一个不起作用,请检查:

  • 您未处于 SES 沙盒模式(提出支持请求)
  • 您没有受到主机端口 25 的限制(使用端口 587 或提出支持请求)
  • 您可以从您的 EC2/ECS 实例连接到互联网
  • 您的安全组已启用端口 587
  • URL 地址正确 (email-smtp.us-east-1.amazonaws.com)
  • 您的 EC2/ECS 主机(或 IAM 用户)上的 IAM 角色已启用 SES 发送。
于 2020-06-22T01:18:54.790 回答