我无法通过简单邮件传输协议(SMTP)从 Amazon Elastic Compute Cloud(Amazon EC2)实例发送电子邮件。
简短描述
以下是通过 SMTP 从实例发送电子邮件时可能会遇到的几个常见问题:
- 安全组或网络访问控制列表(网络 ACL)阻止了端口 25、587 或 465 上的 SMTP 流量。
**注意:**默认情况下,所有 Amazon EC2 实例和 AWS Lambda 函数将在端口 25(SMTP)上阻止出站流量。要在端口 25 上发送出站流量,请申请取消此限制。有关详细信息,请参阅如何从 Amazon EC2 实例或 AWS Lambda 函数删除端口 25 上的限制?
- 实例的公有 IP 地址在实例停止并重启后发生改变。
- 出站消息被标记为垃圾邮件。
- 电子邮件未送达至特定域。
- 出站电子邮件出现延迟。
- 能收到电子邮件,但无法发送。
解决方法
安全组或网络 ACL 阻止了端口 25、587 或 465 上的 SMTP 流量
- 要验证流量是否被阻止,请使用 Test-NetConnection 或 telnet 实用程序检查 SMTP 端口上的连接。
- 如果 SMTP 端口上的流量被阻止,请确保正确配置以下信息:
安全组出站(出口)规则必须允许流量通过 TCP 端口 25、587 或 465 到达 SMTP 服务器。
网络 ACL 出站(出口)规则必须允许流量通过 TCP 端口 25、587 或 465 到达 SMTP 服务器。
网络 ACL 入站(入口)规则必须允许来自 SMTP 服务器的流量通过 TCP 端口 1024-65535。
Windows 实例上的防火墙和防病毒应用程序必须允许流量通过 TCP 端口 25、587 或 465 到达 SMTP 服务器。
EC2 实例必须有互联网连接。
实例的公有 IP 地址在实例停止并重启后发生改变
系统会自动为您的实例分配一个公有 IP 地址。但此地址会在每次停止和重启实例后更改。为避免这种情况,请确保为邮件服务器实例分配弹性 IP 地址。
出站消息被标记为垃圾邮件
如果您缺少 DKIM 身份验证、SPF 记录或反向 DNS 记录集,则出站消息可能会被标记为垃圾邮件。最佳做法是设置这些记录以防止出站电子邮件被标记为垃圾邮件。有关反向 DNS 记录的详细信息,请参阅以下资源:
Amazon EC2 弹性 IP 地址的可配置反向 DNS
如何使用 PTR 记录为 Route 53 启用反向 DNS 功能?
如何解决 Route 53 中用于反向 DNS 的 PTR 记录问题?
电子邮件未送达至特定域
如果您无法向特定域发送电子邮件,请按照以下步骤操作:
- 检查收件人域是否屏蔽了您的 IP 地址。
- 确保电子邮件不要过大,以免目标无法接收。即使您发送邮件时没有大小限制,收件人接收邮件时也可能会有大小限制。标准电子邮件大小为 22 MB。
出站电子邮件出现延迟
如果您的电子邮件出现延迟,请按照以下步骤操作:
- 查看延迟的电子邮件是否都是发送到一个特定的地址或域。
- 查看电子邮件服务器配置,确保未做任何更改。
- 查看服务器上电子邮件队列的移动速度是否很慢,或者电子邮件是否已准时从服务器传出但到达目标的速度很慢。
如果电子邮件积压在服务器的队列中,请确保您的 SMTP 服务器没有性能问题。
如果目标存在问题,请确保电子邮件不会过大,以免目标无法接受。即使您发送邮件时没有大小限制,收件人接收邮件时也可能会有大小限制。标准电子邮件大小为 22 MB。
- 使用电子邮件标头分析器工具分析消息标头,以获取诊断信息。
能收到电子邮件,但无法发送
如果没有配置传出(SMTP)服务器所需的身份验证,就会出现此问题。