如何解决 EC2 Windows 实例上的邮件服务器问题?

1 分钟阅读
0

我无法通过简单邮件传输协议(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 流量

  1. 要验证流量是否被阻止,请使用 Test-NetConnection 或 telnet 实用程序检查 SMTP 端口上的连接。
  2. 如果 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。

出站电子邮件出现延迟

如果您的电子邮件出现延迟,请按照以下步骤操作:

  1. 查看延迟的电子邮件是否都是发送到一个特定的地址或域。
  2. 查看电子邮件服务器配置,确保未做任何更改。
  3. 查看服务器上电子邮件队列的移动速度是否很慢,或者电子邮件是否已准时从服务器传出但到达目标的速度很慢。
    如果电子邮件积压在服务器的队列中,请确保您的 SMTP 服务器没有性能问题。
    如果目标存在问题,请确保电子邮件不会过大,以免目标无法接受。即使您发送邮件时没有大小限制,收件人接收邮件时也可能会有大小限制。标准电子邮件大小为 22 MB。
  4. 使用电子邮件标头分析器工具分析消息标头,以获取诊断信息。

能收到电子邮件,但无法发送

如果没有配置传出(SMTP)服务器所需的身份验证,就会出现此问题。

AWS 官方
AWS 官方已更新 1 年前