我已经为此苦思冥想了一段时间。我在网上搜索了各种资料,也读到了这个帖子和这个帖子关于类似问题。但是我似乎根本无法解决这个问题。
我的设置包括一个运行带有 Postfix 的 Ubuntu Server 18 的 AWS EC2 实例。我已打开端口 25 和 587,ufw
并允许 AWS 控制台中的所有流量。我在设置 Postfix 期间添加了 FQDN,如下所示.conf
。
/etc/postfix/main.cf
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = ip-172-xx-xx-xx.ec2.internal
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, xxx.xxxxxxxxx.com, ip-172-xx-xx-xx.ec2.internal, localhost.ec2.internal, localhost
relayhost = x.xx.xxx.xx:587
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = ipv4
我究竟做错了什么?
答案1
AWS 默认限制 25 端口的出站连接。您需要将其移除。请参阅https://aws.amazon.com/premiumsupport/knowledge-center/ec2-port-25-throttle/
为 SES 设计但与 EC2 有一定相关性的附加故障排除页面:https://aws.amazon.com/premiumsupport/knowledge-center/smtp-connectivity-timeout-issues-ses/
例如,如果您使用 Amazon EC2 实例发送电子邮件并连接到 SMTP 终端节点,请检查以下内容:
- 确保安全组出站(出口)规则允许流量通过 TCP 端口 25、587 或 465 到达 SMTP 服务器。
- 确保网络 ACL 出站(出口)规则允许流量通过 TCP 端口 25、587 或 465 流向 SMTP 服务器。此外,确认网络 ACL 入站(入口)规则允许流量通过 TCP 端口 1024-65535 流向 SMTP 服务器。
- 确保 EC2 实例具有互联网连接。