遵守 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
是域。TXT 记录的值包含应用于域的 DMARC 策略。以下是包含 DMARC 策略的 TXT 记录的示例:example.com
名称 | 类型 | 值 |
---|---|---|
_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
通过 SPF 遵守 DMARC
要使电子邮件基于 SPF 遵守 DMARC,必须满足以下两个条件:
-
电子邮件必须通过 SPF 检查。
-
电子邮件标头的 From 地址中的域必须与发送邮件服务器向接收邮件服务器指定的 MAIL FROM 域保持一致。如果域的 SPF DMARC 策略指定严格遵守,则 From 和 MAIL FROM 域必须完全匹配。如果域的 SPF DMARC 策略指定宽松遵守,则 MAIL FROM 域可以是 From 标头中域的子域。
要满足上述要求,请完成以下步骤:
-
通过完成 使用自定义 MAIL FROM 域 中的过程设置自定义 MAIL FROM 域。
-
确保您的发送域使用宽松的 SPF 策略。如果您尚未更改域的策略遵守方式,则预设情况下使用宽松策略。
注意
您可以在命令行中输入以下命令,将
替换为您的域名,从而确定您的域的 DMARC 与 SPF 的符合情况:example.com
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 策略。如果您尚未更改域的策略遵守方式,则预设情况下使用宽松策略。
注意
您可以在命令行中输入以下命令,将
替换为您的域名,从而确定您的域的 DMARC 与 DKIM 的符合情况:example.com
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 策略遵守情况。