我使用 Amazon Simple Email Service(Amazon SES)发送电子邮件,但是我的电子邮件无法送达。
以下是您从 Amazon SES 发送的电子邮件无法发送给收件人的常见原因。
如果您通过 SendTemplatedEmail API 操作发送的电子邮件包含不正确的模板数据,则可能会出现渲染失败。要识别此类故障,请通过Amazon Simple Notification Service(Amazon SNS)设置渲染失败事件通知。
当您的账户在 Amazon SES 沙盒中时,您只能向经过验证的电子邮件地址或邮箱模拟器发送电子邮件。如果您的账户在沙盒中,请确认您正在向经过验证的电子邮件地址发送电子邮件。您也可以请求将您的账户移出 Amazon SES 沙盒。
您的电子邮件可能无法送达,因为收件人的电子邮件地址存在问题,导致退回。根据收件人的邮件服务器调用的错误,电子邮件可能由于多种原因而退回。
此外,因为收件人的电子邮件地址在您的 Amazon SES 账户级别黑名单或全局黑名单中,电子邮件可能无法送达。要从账户的黑名单中删除电子邮件地址,请参阅 Removing individual email addresses from your Amazon SES account-level suppression list。
您无法请求从全局黑名单中删除电子邮件地址。有关更多信息,请参阅 Amazon SES global suppression list。
要解决电子邮件退回的其他原因,请参阅如何处理使用 Amazon SES 发送的电子邮件的高退回率问题?
要确定您的电子邮件是否因为电子邮件收件人的服务器问题而无法发送,请配置 Amazon SNS 通知。在 Amazon SNS 通知中,查看 Amazon SES 返回的 smtpResponse。有关 Amazon SNS 通知中包含的详细信息的更多信息,请参阅 Amazon SNS notification contents for Amazon SES。
如果您收到来自收件人 SMTP 服务器的 SMTP 250 OK 响应,则 Amazon SES 已成功地将该消息发送到该邮件服务器。但是,**SMTP 250 OK ** 响应并不能保证邮件会传送到接收的电子邮件地址。在 Amazon SES 将消息传送到收件人的服务器后,收件人的服务器策略会决定电子邮件是被接受、拒绝还是保密。
此外,收件人的服务器可能会遇到问题,因此电子邮件不会存储在收件人的邮箱中。
收件人的电子邮件服务器可能出于多种原因将您的电子邮件过滤为垃圾邮件。可能存在电子邮件身份验证失败或电子邮件内容质量问题或发件人信誉问题。有关详细信息,请参阅我使用 Amazon SES 发送的电子邮件为什么被标记为垃圾邮件?
发送电子邮件可能会延迟。有关更多信息,请参阅 Three places where your email could get delayed when sending through Amazon SES。您可以使用事件发布来监控 Amazon SES 尝试向收件人的互联网服务提供商(ISP)传送电子邮件时发生的延迟。
查看 AWS Health Dashboard,了解可能妨碍成功发送电子邮件的 Amazon SES 问题。
您的客户端可能使用 1.2 之前的 TLS 版本,例如 TLS 1.0 或 1.1。在这种情况下,SES 不接受您的电子邮件,并且您会看到以下错误消息之一:
HTTP
“Amazon SES 不再支持 TLS 1.0 和 TLS 1.1 连接。您必须更新您的客户端才能使用 TLS 版本 1.2 或更高版本。要了解更多信息并更新您的客户端,请参阅 https://go.aws/3AUlVSb。如需其他帮助,请联系 AWS Support。”
SMTP
“访问被拒绝: Amazon SES 不再支持 TLS 1.0 和 TLS 1.1 连接。您必须更新您的客户端才能使用 TLS 版本 1.2 或更高版本。要了解更多信息并更新您的客户端,请参阅 https://go.aws/3AUlVSb。如需其他帮助,请联系 AWS Support。”
要查找使用过时 TLS 版本的 SMTP 客户端,请参阅如何查找使用过时 TLS 版本的 SMTP 客户端?如果您配置了事件发布,则可以在已发送电子邮件的事件数据中识别 TLS 版本。有关更多信息,请参阅 How event publishing works。