遵守 Amazon SES 中的 DMARC 身份验证协议 - Amazon Simple Email Service

遵守 Amazon SES 中的 DMARC 身份验证协议

基于域的消息身份验证、报告和合规性 (DMARC) 是一种电子邮件身份验证协议,它使用发件人策略框架 (SPF) 和域名密钥识别邮件 (DKIM) 来检测电子邮件欺骗。为了符合 DMARC 标准,邮件必须通过 SPF 和/或 DKIM 进行身份验证。

本主题包含的信息将帮助您配置 Amazon SES,以便您发送的电子邮件符合 SPF 和 DKIM 标准。只要符合上述身份验证系统之一,您的电子邮件即符合 DMARC 标准。有关 DMARC 规范的信息,请参阅 http://www.dmarc.org

对域设置 DMARC 策略

要设置 DMARC,您必须修改域的 DNS 设置。域的 DNS 设置应包括指定域的 DMARC 设置的 TXT 记录。向 DNS 配置中添加 TXT 记录的过程取决于您使用的 DNS 或托管提供商。如果您使用 Route 53,请参阅《Amazon Route 53 开发人员指南》中的使用记录。如果使用的是其他提供商的产品,请参阅提供商的 DNS 配置文档。

您创建的 TXT 记录的名称应为 _dmarc.example.com,其中 example.com 是域。TXT 记录的值包含应用于域的 DMARC 策略。以下是包含 DMARC 策略的 TXT 记录的示例:

名称 类型
_dmarc.example.com TXT "v=DMARC1;p=quarantine;pct=25;rua=mailto:dmarcreports@example.com"

简单地说,此策略告知电子邮件提供商执行以下操作:

  • 将 DMARC 策略应用于 25% 的邮件,其中任何未通过身份验证的邮件都将被发送到垃圾邮件文件夹(您也可以使用 p=none 不采取任何行动,或者通过使用 p=reject 拒绝消息)。

    • pct 是一个可选的 DMARC 标记,它采用 0 到 100(包括 0 和 10)之间的纯文本整数(如果不使用此标记,所有消息都受 DMARC 策略的约束)。

  • 在摘要中发送有关未通过身份验证的所有电子邮件的报告(即,在特定时间段内汇总数据的报告,而不是为每个事件发送单独的报告)。电子邮件提供商通常每天发送一次此类汇总报告,但具体政策因提供商而异。

要了解更多有关如何为域配置 DMARC 的信息,请参阅 DMARC 网站上的概述

有关 DMARC 系统的完整规范,请参阅 IETF 网站上的 RFC 7489。该文档的第 6.3 节包含一个完整的列表,列出了可用于为域配置 DMARC 策略的标记。

通过 SPF 遵守 DMARC

要使电子邮件基于 SPF 遵守 DMARC,必须满足以下两个条件:

  • 电子邮件必须通过 SPF 检查。

  • 电子邮件标头的 From 地址中的域必须与发送邮件服务器向接收邮件服务器指定的 MAIL FROM 域保持一致。如果域的 SPF DMARC 策略指定严格遵守,则 From 和 MAIL FROM 域必须完全匹配。如果域的 SPF DMARC 策略指定宽松遵守,则 MAIL FROM 域可以是 From 标头中域的子域。

要满足上述要求,请完成以下步骤:

  • 通过完成 使用自定义 MAIL FROM 域 中的过程设置自定义 MAIL FROM 域。

  • 确保您的发送域使用宽松的 SPF 策略。如果您尚未更改域的策略遵守方式,则预设情况下使用宽松策略。

    注意

    您可以在命令行中输入以下命令,将 example.com 替换为您的域名,从而确定您的域的 DMARC 与 SPF 的符合情况:

    nslookup -type=TXT _dmarc.example.com

    在此命令的输出中,在 Non-authoritative answer 下查找以 v=DMARC1 开头的记录。如果此记录包含字符串 aspf=r,或者 aspf 字符串根本不存在,则您的域为 SPF 使用宽松遵守。如果记录包含字符串 aspf=s,则您的域为 SPF 使用严格遵守。您的系统管理员需要从域的 DNS 配置的 DMARC TXT 记录中删除此标签。

    或者,您也可以使用基于 Web 的 DMARC 查找工具 (例如 dmarcian 网站的 DMARC Inspector 或 Proofpoint 网站的 DMARC Check 工具) 确定域的 SPF 策略遵守情况。

通过 DKIM 遵守 DMARC

要使电子邮件基于 DKIM 遵守 DMARC,必须满足以下两个条件:

  • 邮件必须具有有效的 DKIM 签名。

  • 电子邮件标头中的 From 地址必须与 DKIM 签名中的 域保持一致。如果域的 DMARC 策略为 DKIM 指定严格遵守,则这些域必须完全匹配。如果域的 DMARC 策略为 DKIM 指定宽松遵守,则 域可以是 From 域的子域。

要满足上述要求,请完成以下步骤:

  • 通过完成 Amazon SES 中的 Easy DKIM 中的过程设置 Easy DKIM。使用 Easy DKIM 时,Amazon SES 会自动对您的电子邮件签名。

    注意

    除了使用 Easy DKIM 以外,您也可以为邮件手动签名。但是,如果您选择这样做,请务必小心,因为 Amazon SES 不验证您构建的 DKIM 签名。因此,我们强烈建议您使用 Easy DKIM。

  • 确保您的发送域使用宽松的 DKIM 策略。如果您尚未更改域的策略遵守方式,则预设情况下使用宽松策略。

    注意

    您可以在命令行中输入以下命令,将 example.com 替换为您的域名,从而确定您的域的 DMARC 与 DKIM 的符合情况:

    nslookup -type=TXT _dmarc.example.com

    在此命令的输出中,在 Non-authoritative answer 下查找以 v=DMARC1 开头的记录。如果此记录包含字符串 adkim=r,或者 adkim 字符串根本不存在,则您的域为 DKIM 使用宽松遵守。如果记录包含字符串 adkim=s,则您的域为 DKIM 使用严格遵守。您的系统管理员需要从域的 DNS 配置的 DMARC TXT 记录中删除此标签。

    或者,您也可以使用基于 Web 的 DMARC 查找工具 (例如 dmarcian 网站的 DMARC Inspector 或 Proofpoint 网站的 DMARC Check 工具) 确定域的 DKIM 策略遵守情况。