

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon SES 电子邮件发送错误
<a name="troubleshoot-error-messages"></a>

本主题介绍您在通过 Amazon SES 发送电子邮件时可能遇到的各种类型的电子邮件发送错误。如果您尝试通过 Amazon SES 发送电子邮件且调用 Amazon SES 失败，Amazon SES 将向您的应用程序返回错误消息，并且不会发送电子邮件。您看到此错误消息的方式取决于您调用 Amazon SES 的方式。
+ 如果您直接调用 Amazon SES API，查询操作将返回错误。该错误可能是 `MessageRejected` 或 *Amazon Simple Email Service API 参考*的[常见错误](https://docs.aws.amazon.com/ses/latest/APIReference-V2/CommonErrors.html)主题中指定的错误之一。
+ 如果您使用使用支持异常的编程语言的 AWS 软件开发工具包调用 Amazon SES，Amazon SES 可能会抛出异常。异常的类型取决于软件开发工具包和错误。例如，例外可能是 Amazon SES`MessageRejectedException`（实际名称可能因软件开发工具包而异），也可能是一般 AWS 异常。无论是哪种类型的异常，异常中的错误类型和错误消息将为您提供更多信息。
+ 如果您通过 SMTP 接口调用 Amazon SES，您遇到错误的方式取决于应用程序。某些应用程序可能会显示特定的错误消息，而其他应用程序则可能不会显示。有关 Amazon SES 返回的 SMTP 响应代码的列表，请参阅[由 Amazon SES 返回的 SMTP 响应代码](troubleshoot-smtp.md#troubleshoot-smtp-response-codes)。

**注意**  
当您调用 Amazon SES 发送电子邮件失败时，您无需为该电子邮件付费。

当您尝试发送电子邮件时，可能会导致 Amazon SES 返回错误的 Amazon SES 特定问题的类型如下。这些错误是对一般 AWS 错误的补充，`MalformedQueryString`例如在《*亚马逊简单电子邮件服务 API 参考*》的 “[常见错误](https://docs.aws.amazon.com/ses/latest/APIReference-V2/CommonErrors.html)” 主题中指出的错误。
+ **电子邮件地址未经验证。以下身份无法签入区域 *region*：*identity1*、*identity2*、*identity3*** – 您正在尝试从未[通过 Amazon SES 验证](verify-addresses-and-domains.md)的电子邮件地址或域发送电子邮件。此错误可能发生于“From”、“Source”、“Sender”或“Return-Path”地址。如果您的账户仍位于 [Amazon SES 沙盒](request-production-access.md)中，您还必须验证每个收件人电子邮件地址，但 [Amazon SES 邮箱模拟器](send-an-email-from-console.md#send-email-simulator)提供的收件人除外。如果 Amazon SES 无法显示所有失败的身份，错误消息将以省略号结束。
**注意**  
Amazon SES 有[多个](regions.md)终端节点 AWS 区域，每个终端节点的电子邮件地址验证状态各不相同 AWS 区域。您必须为要使用的每个发件人完成验证过程。 AWS 区域 
+ **Account is paused (账户已暂停)** – 已暂停您的账户发送电子邮件的功能。您仍然可以访问 Amazon SES 控制台并执行大多数操作。但是，如果您尝试发送电子邮件，则会收到此消息。

  如果我们暂停了您的账户发送电子邮件的功能，将自动将通知发送到与您的 AWS 账户关联的电子邮件地址。有关更多信息，请参阅 [Amazon SES 发送审核流程 FAQs](faqs-enforcement.md)。
+ **Throttling (限制)** – 您的应用程序可能尝试每秒发送了过多的邮件，或者您可能在过去 24 小时内发送了过多的电子邮件。在这些情况下，错误消息可能类似于以下示例：
  + **Daily message quota exceeded (已超出每日邮件发送配额)** – 您已超出在 24 小时内允许发送的最大邮件数量。如果您已超出每日配额，您必须等到下一个 24 小时时段内，然后才能发送更多电子邮件。
  + **Maximum sending rate exceeded (已超出最大发送速率)** – 您尝试每秒发送的电子邮件数已超过允许的最大发送速率。如果您已超出发送速率，您可以继续发送电子邮件，但需要降低发送速率。有关更多信息，请参阅 AWS 消息和定位[博客上的 “如何处理 “限制-已超过最大发送速率” 错误](https://aws.amazon.com//blogs/messaging-and-targeting/how-to-handle-a-throttling-maximum-sending-rate-exceeded-error/)。
  + **已超出 Sigv2 SMTP 最大发送速率**-您正在尝试使用 2019 年 1 月 10 日之前创建的 SMTP 凭据发送邮件；您的 SMTP 凭据是使用旧版本的签名创建的。 AWS 出于安全考虑，您应删除在此日期之前创建的凭证，并将其替换为较新的凭证。您可以使用 IAM 控制台删除较早的凭证。有关创建凭证的更多信息，请参阅 [获取 Amazon SES SMTP 凭证](smtp-credentials.md)。

  您应定期监视您的发送活动，以了解您离发送配额还有多远。有关更多信息，请参阅 [监控您的 Amazon SES 发送配额](manage-sending-quotas-monitor.md)。有关发送配额的基本信息，请参阅[管理您的 Amazon SES 发送限制](manage-sending-quotas.md)。有关如何提高发送配额的信息，请参阅[提升您的 Amazon SES 发送配额](manage-sending-quotas-request-increase.md)。
**重要**  
如果说明限制错误的错误文本与您超出每日配额或最大发送速率无关，则可能存在导致降低发送功能的系统级问题。有关服务状态的信息，请转至 [AWS Service Health Dashboard](https://status.aws.amazon.com/)。
+ **未指定收件人** – 没有提供收件人。
+ **There are non-ASCII characters in the email address (电子邮件地址中有非 ASCII 字符)** – 电子邮件地址字符串必须是 7 位 ASCII 字符。如果您希望向或从某个地址的域部分中包含 Unicode 字符的电子邮件地址发送邮件，则必须使用 Punycode 对域进行编码。不允许在电子邮件地址的本地部分（@ 符号前面的部分）中使用 Punycode，也不允许在“易记发件人”名称中使用。如果您想要在“易记发件人”名称中使用 Unicode 字符，您必须使用 MIME encoded-word 语法编码“易记发件人”名称，如[使用 Amazon SES API v2 发送原始电子邮件](send-email-raw.md)中所述。有关 Punycode 的更多信息，请参阅 [RFC 3492](http://tools.ietf.org/html/rfc3492)。
+ **Mail FROM domain is not verified (发件人域未验证)** – Amazon SES 无法读取使用指定 MAIL FROM 域所需的 MX 记录。有关设置自定义 MAIL FROM 域的信息，请参阅 [使用自定义 MAIL FROM 域](mail-from.md)。
+ **Configuration set does not exist (配置集不存在)** – 您指定的配置集不存在。配置集是可选参数，您可以使用它来发布电子邮件发送事件。有关更多信息，请参阅 [使用 Amazon SES 事件发布监控电子邮件发送](monitor-using-event-publishing.md)。
+ **服务器错误和超时**-在极少数情况下，`SendEmail`或`SendRawEmail`请求可能会在电子邮件已被接受投递后超时或返回服务器错误。如果您的应用程序重试请求，则可能会发送另一封带有不同消息 ID 的电子邮件。要可靠地将事件通知与您的发送逻辑关联起来，请使用[消息标签](monitor-using-event-publishing.md)，而不是仅仅依赖消息 ID。