自 4 月 10 日起,Stripe 紧随 Google 和 Yahoo 的脚步,强制要求发送电子邮件收据的非 Stripe 域必须启用 DMARC:
为了遵守这一点,我们通过邮件提供商实施了 DMARC 政策,但这样做后不久,依赖于我们电子邮件的其他服务开始失败 - 例如 Reviews.io 的审阅邀请电子邮件 - 可能是因为它们不这样做尚未支持 DMARC。
我们显然已经让 Reviews.io 意识到了这一点,经过一番工作,他们似乎终于意识到存在问题,并正在努力解决问题。与此同时,如何启用 DMARC,同时确保一切正常运行?
要创建 DMARC 记录,您需要在发送电子邮件的域上创建 DNS TXT 记录。该记录的名称必须为
_dmarc
以及由 DMARC 标记组成的值 - 这些标记构成您域的 DMARC 策略。
对于最低限度的 DMARC 策略,不应破坏此过程中的任何其他内容:
v=DMARC1; p=none; ruf=mailto:[email protected];
唯一必填字段似乎是
v
和 p
,因此,如果您不关心接收失败(又名取证)报告,您甚至可以使用:
v=DMARC1; p=none
这是我可以整理的最完整的 DMARC 标签及其用途列表。大多数取自DMARC.org,但有些似乎没有记录。
标签 | 目的 | 示例 |
---|---|---|
v | 协议版本(必填) | v=1 |
p | 域名政策(必填) | p=无 |
sp | 子域政策 | p=无 |
鲁夫 | 发送法医报告的目标 | ruf=mailto:[电子邮件受保护] |
rua | 发送汇总(每日)报告的目标 | rua=mailto:[电子邮件受保护] |
里 | 以秒为单位发送汇总报告的频率;默认/最小值为 86400(24 小时) | ri=604800 |
pct | 要分析的电子邮件的百分比;默认为 100% | %=20 |
adkim | DKIM 的对齐模式 | adkim=r |
aspf | SPF 的对齐模式 | aspf=r |
一些注意事项:
p
(以及可选的sp
)都可以设置为none
,作为最不严格的选项。一段时间后,DMARC 得到更广泛的实施,建议将其更改为 quarantine
(更严格)或 reject
(最严格)。
过了一段时间我就放弃了
rua
,因为我厌倦了接收来自谷歌、微软和雅虎的每日汇总报告,这些报告对我来说没有任何实际用途,但离开了ruf
,因为我仍然想知道什么时候发生的事情正在失败。如果你不关心这一点,你也可以删除ruf
。如果您想保留 rua
但减少发送汇总报告的频率,请使用 ri
。
可选的
adkim
和 aspf
应设置为 r
(relaxed) 作为最不严格的选项 - 这将分别允许除 DKIM 和 SPF 根域之外的子域。请注意,Stripe 目前不支持除 r
之外的任何 aspf
值。
DMARC 聚合报告(默认每 24 小时发送一次)当前仅采用 XML 格式,因此如果不进行进一步处理,它们将无法读取。有一些服务可以帮助进行此处理,例如 dmarcian 的 在线转换器 或 URIports 非常便宜的自动监控,但除非您是一个具有非常复杂的邮件设置的大型组织,否则您可能会摆脱困境在您尝试调试问题或开始执行更严格的 DMARC 策略之前,根本不会收到汇总报告。