我无法从 Amazon Elastic Compute Cloud (Amazon EC2) 实例或 AWS Lambda 函数发送电子邮件。对简单邮件传输协议 (SMTP) 端口 25 的限制会阻止电子邮件。
简短描述
默认情况下,AWS 会阻止弹性网络接口上的所有 EC2 实例和 Lambda 函数在端口 25 上的出站流量。这样可防止垃圾邮件,适用于不在允许列表上的 AWS 账户。有关详细信息,请参阅对使用端口 25 发送的电子邮件的限制。
**注意:**对于发往 Amazon EC2 的 SMTP 入站流量,端口 25 限制适用于实例级别。AWS 不会阻止网络负载均衡器上的入站流量。
要解除对端口 25 的限制,您必须向 AWS 提交请求。要通过 Lambda 函数解除此限制,您必须在提交请求之前将该函数附加到 Amazon Virtual Private Cloud (Amazon VPC)。
解决方法
将 Lambda 函数附加到 Amazon VPC
完成以下步骤:
- 将您的 Lambda 函数附加到您账户中的 Amazon VPC。
- 然后,使用 NAT 网关为 Lambda 函数提供互联网访问权限。
通过 Amazon SES 发送电子邮件
您的电子邮件提供商可能会屏蔽云 IP 范围。这可能会停止或延迟您从实例或 Lambda 函数发送的电子邮件的传输。要防止出站电子邮件被阻止,请使用 Amazon Simple Email Service (Amazon SES) 从您的实例或 Lambda 函数发送电子邮件。
提交请求,让 AWS 解除对端口 25 的限制
**重要事项:**您可以使用 Amazon EC2 表单请求 EC2 实例或 Lambda 函数的更新。如果您在多个 AWS 区域有实例,则必须分别为每个区域提交请求。如果您的实例位于单个区域,则只需为该区域提交一个请求。
要解除对您的实例或 Lambda 函数端口 25 的限制,请完成以下步骤:
- 登录 AWS 管理控制台,然后打开 Request to remove email sending limitations(解除电子邮件发送限制的请求)表单。
- 在 Request information(请求信息)部分的 Email address(电子邮件地址)中,输入您要接收请求更新的电子邮件地址。
- 对于 Use case description(使用案例描述),输入您要从实例或 Lambda 函数的 NAT 网关发送电子邮件的原因。此外,输入您计划如何阻止出站垃圾电子邮件进入您的帐户。最后,输入您的实例或 NAT 网关的区域。请务必在使用案例描述中阐明该请求是针对 Amazon EC2 还是 Lambda。
**重要事项:**您无法从 AWS GovCloud(美国)区域提交反向 DNS (rDNS) 请求。请改为使用您的标准账户提交请求。对于 Use case description(使用案例描述),请注明 AWS GovCloud (US) 区域、账户 ID 和实例 ID 或弹性 IP 地址。
- (可选)在 Elastic IPs information(弹性 IP 信息)部分的 Elastic IP address(弹性 IP 地址)中,输入 AWS 拥有的用于发送出站电子邮件的弹性 IP 地址。
- (可选)对于 Reverse DNS record(反向 DNS 记录),输入您希望 AWS 附加到您的弹性 IP 地址的 rDNS 记录。
**注意:**rDNS 记录有助于防止举报出站电子邮件的垃圾邮件筛选器。如果您使用 rDNS 记录,请使用 DNS A 记录类型将 rDNS 记录关联到您的弹性 IP 地址。例如,如果 mail.example.com 是您设置的 rDNS 记录,请为 mail.example.com 创建 A 记录。A 记录必须指向弹性 IP 地址。
- 选择 Submit(提交)。
查看是否有来自 AWS 的电子邮件
在您提交申请表后,AWS 会向您发送一封包含您的请求 ID 的电子邮件。处理您的请求最多可能需要 48 小时。如果在提交请求后的 48 小时内未收到审核结果,请回复此电子邮件。
如果 AWS 批准您的请求,您将收到一封电子邮件,其中包含您可以发送的电子邮件数量的默认配额。该配额适用于您在使用案例描述中列出的实例或 Lambda 函数。
如果 AWS 未批准您的请求,请撰写新的使用案例描述。该描述必须包含清晰详细的解释,说明您为何要从实例或 NAT 网关发送电子邮件。然后,提交新的请求。
如果 AWS 不批准您停止从您的账户发送垃圾电子邮件的计划,请撰写新的使用案例描述。该描述必须包含清晰且技术细节充分的计划,用于说明如何防止垃圾电子邮件。然后,提交新的请求。
相关信息
连接到 Amazon SES SMTP 端点
如何从 Amazon Lightsail 实例解除对端口 25 的限制?
Fully automated deployment of an open source mail server on AWS(在 AWS 上全自动部署开源邮件服务器)