我使用多种不同的服务从我的域名发送电子邮件。我已经为 _dmarc.mydomain.com 设置了 CNAME 记录mydomain.com.dmarc.emldlv.net
,但另一项服务现在告诉我,我需要为 _dmarc.mydomain.com* 添加 TXT 记录,值为v=DMARC1; p=none
。
我尝试在 Route 53 中执行此操作并收到以下错误:
错误的请求。
(InvalidChangeBatch 400:不允许使用 DNS 名称为 _dmarc.mydomain.com 的 TXT 类型的 RRSet,因为在区域 mydomain.com 中已经存在一个具有相同 DNS 名称的冲突的 CNAME 类型的 RRSet。)
所以我不知道现在该怎么做。我可以删除已有的 CNAME 记录并将其替换为包含由新行分隔的两个条目的 TXT 记录吗?例如。
mydomain.com.dmarc.emldlv.ne
v=DMARC1; p=none
一个域不能有多个策略。这很合逻辑,不是吗?
目前,使用 CNAME,您实际上是将策略管理委托给其他服务。如果您信任他们并且他们有良好的政策,那么这还不错。您可以将 CNAME 记录替换为 TXT 记录,该记录会复制 CNAME 指向的记录的内容,它将像这样工作,这样您就可以开始自己管理策略了。
您遇到的具体问题是无法添加其他记录,这是不同的;这只是 DNS CNAME 的特殊属性,您不能在其旁边拥有任何记录。
v=DMARC1; p=none
当然不是一个明智的政策。它的意思是“我不在乎是否有人发送垃圾邮件,这些垃圾邮件看起来像是来自我的域名”。这是默认的,没有任何政策。我会对要求如此荒谬的服务感到非常恼火。你肯定想要它。没有人应该规定你在互联网上的p=quarantine
表现p=reject
,尤其是强迫你表现得比你能表现的更糟糕。单个域名不可能有多个 DMARC 记录或策略。您必须决定一个记录/策略,以整合所有电子邮件发送源的要求和建议。对于您来说,这相对简单:
v=DMARC1; p=none; ruf=mailto:[email protected],mailto:[email protected]; rua=mailto:[email protected]
v=DMARC1; p=none
由于第一个(现有)记录是第二个记录的超集,因此您可以保持原样。
如果记录具有不同的
p
(策略)值,则需要做出明智的决定,确定哪一个最能满足您的需求(您可以随时从中开始,p=none
直到您确信进一步限制是合适的)。此外,如果存在不同的ruf
和rua
值,您可以通过用逗号分隔电子邮件地址来合并它们: