

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

# 在 Amazon SES 中使用 DKIM 对电子邮件进行身份验证
<a name="send-email-authentication-dkim"></a>

DomainKeys *Identified *Mail* (DKIM*) 是一种电子邮件安全标准，旨在确保声称来自特定域名的电子邮件确实得到了该域名所有者的授权。其使用公有密钥加密技术通过私有密钥对电子邮件进行签名。然后，收件人服务器就可以使用发布到域 DNS 的公有密钥来验证电子邮件的各个部分在传输过程中未被修改。

DKIM 签名为可选项。您可决定使用 DKIM 签名为您的电子邮件签名，以通过符合 DKIM 的电子邮件提供商提高送达率。Amazon SES 提供三种使用 DKIM 签名为您的邮件签名的选项：
+ **Easy DKIM**：SES 生成公有/私有密钥对，并自动将 DKIM 签名添加到您通过该身份发送的每封邮件，请参阅[Amazon SES 中的 Easy DKIM](send-email-authentication-dkim-easy.md)。
+ D@@ **eterministic Easy DKIM (DEED)**： AWS 区域 通过创建副本身份，自动继承 DKIM 签名属性的副本身份作为使用 Easy DKIM 的父身份，使您能够在多个之间保持一致的 DKIM 签名，请参阅。[在 Amazon SES 中使用 Deterministic Easy DKIM（DEED）](send-email-authentication-dkim-deed.md)
+ **BYODKIM（自带 DKIM）**：您提供自己的公有/私有密钥对，而 SES 将 DKIM 签名添加到您通过该身份发送的每封邮件，请参阅[提供 Amazon SES 中您自己的 DKIM 身份验证令牌 (BYODKIM)](send-email-authentication-dkim-bring-your-own.md)。
+ **手动添加 DKIM 签名**：您将自己的 DKIM 签名添加到使用 `SendRawEmail` API 发送的电子邮件，请参阅[Amazon SES 中的手动 DKIM 签名](send-email-authentication-dkim-manual.md)。

## DKIM 签名密钥长度
<a name="send-email-authentication-dkim-1024-2048"></a>

由于许多 DNS 提供商现在完全支持 DKIM 2048 位 RSA 加密，Amazon SES 还支持 DKIM 2048 以允许对电子邮件进行更安全的身份验证，因此当您从 API 或控制台配置 Easy DKIM 时，请将其用作原定设置的密钥长度。2048 位密钥也可以在自带 DKIM (BYODKIM) 中设置和使用，其中您的签名密钥长度必须至少为 1024 位，但不超过 2048 位。

为了安全和电子邮件的送达率，当使用 Easy DKIM 配置时，您可以选择使用 1024 和 2048 位密钥长度，并且在任何 DNS 提供商仍不支持 2048 位导致问题时，可以灵活地返回到 1024 位。*创建新身份时，除非指定 1024 位，否则默认情况下将使用 DKIM 2048 创建身份。*

为了保持传输中电子邮件的送达率，您可以更改 DKIM 密钥长度的频率将受到限制。这些限制包括：
+ 无法切换到与已配置的密钥长度相同的密钥长度。
+ 无法在 24 小时内多次切换到不同的密钥长度（除非这是该时间段内第一次降级到 1024 位）。

当您的电子邮件在传输过程中时，DNS 会使用您的公有密钥验证您的电子邮件；因此，如果您更改密钥过快或频繁，DNS 可能无法对您的电子邮件进行 DKIM 身份验证，因为前一个密钥可能已失效，因此，这些限制可防止出现这种情况。

## DKIM 注意事项
<a name="send-email-authentication-dkim-easy-considerations"></a>

当您使用 DKIM 对电子邮件进行身份验证时，以下规则适用：
+ 您只需为在“发件人”地址中使用的域设置 DKIM。您无需为在“退回路径”或“回复对象”地址中使用的域设置 DKIM。
+ Amazon SES 已在多个 AWS 地区推出。如果您使用多个 AWS 区域发送电子邮件，则必须在每个区域中都完成 DKIM 设置过程才能确保您的所有电子邮件都进行 DKIM 签名。
+ 由于从父域继承 DKIM 属性，当您通过 DKIM 身份验证验证域时：
  + DKIM 身份验证会应用到该域的全部子域。
    + 如果您不希望子域使用 DKIM 身份验证，子域的 DKIM 设置可以通过禁用集成以及在未来重新启用的功能覆盖父域的设置。
  + DKIM 身份验证还将应用于由在其地址中引用 DKIM 已验证域的电子邮件身份发出的全部电子邮件。
    + 如果您想要发送电子邮件而不使用 DKIM 身份验证，电子邮件地址的 DKIM 设置可以通过禁用集成以及在未来重新启用的功能覆盖子域的设置（若适用）。

## 了解继承的 DKIM 签名属性
<a name="dkim-easy-setup-email-key-points"></a>

重要的是，首先要理解，如果域配置了 DKIM，无论使用的是 Easy DKIM 还是 BYODKIM，电子邮件地址标识都会从其父域继承其 DKIM 签名属性。因此，在电子邮件地址标识上禁用或启用 DKIM 签名实际上是基于以下关键事实覆盖域的 DKIM 签名属性：
+ 如果您已为电子邮件地址所属于的域设置了 DKIM，则无需再为电子邮件地址设置 DKIM。
  + 在为域设置 DKIM 时，Amazon SES 通过从父域继承的 DKIM 属性，自动认证来自该域上每个地址的每一封邮件。
+ 特定电子邮件地址标识的 DKIM 设置*自动覆盖地址所属的父域或子域（如适用）*的设置。

由于电子邮件地址身份的 DKIM 签名属性是从父域继承的，因此如果您计划覆盖这些属性，则必须记住覆盖的层次规则，如下表所述。



- **您无法在电子邮件地址身份上启用 DKIM 签名。**
  - 您可以禁用对电子邮件地址身份的 DKIM 签名。
  - 您可以对电子邮件地址身份重新启用 DKIM 签名。



通常不建议禁用您的 DKIM 签名，因为这有可能损害您的发件人声誉，并且会增加您发送的邮件转到垃圾邮件或垃圾邮件文件夹或域名被欺骗的风险。

但是，对于任何特定的使用情形或外围业务决策，可以覆盖电子邮件地址标识上的域继承的 DKIM 签名属性，您可能必须永久或临时禁用 DKIM 签名，或者在以后重新将其启用。请参阅[覆盖在电子邮件地址身份上继承的 DKIM 签名](send-email-authentication-dkim-easy-managing.md#send-email-authentication-dkim-easy-setup-email)。