在dmarc.org处,它建议DNS的IN TXT记录可以在区域文件中以特殊形式写入,以使它们不会溢出文本编辑器中的行。
使用a检索时,DMARC策略记录可能如下所示 常用命令行工具:
% dig +short TXT _dmarc.example.com. "v=DMARC1\; p=none\; rua=mailto:dmarc-feedback@example.com"
要发布此类记录,请为域所有者的DNS管理员 在相应的区域文件中创建如下所示的条目 (遵循传统的区域文件格式):
; DMARC record for the domain example.com _dmarc IN TXT ( "v=DMARC1; p=none; " "rua=mailto:dmarc-feedback@example.com" )
我尝试在我的实际区域文件中使用NSD跟踪示例;但是,当我然后查询域时,我实际上也将结果包含在多行中。
% dig +short TXT _dmarc.example.su
"v=DMARC1\; " "p=reject\; " "rua=mailto:rua-dmarc@example.su"
这是预期的吗?这可能会破坏一些应该解析这些TXT记录以获得DMARC / SPF / DKIM /等的软件吗?
答案 0 :(得分:2)
TXT
记录的各个组成部分每个最多只能包含255个字符,因为它们以<length><data ...>
格式在线路上传输。
任何可能需要超过255个字符的代码应该能够将多个组件合并为一个字符数组。
在主文件格式中,字符串周围的大括号表示多个组件将包含在单个TXT记录中 - 如果没有它们,则会创建两个单独的TXT记录,并且两个记录的相对顺序将是未定义的和主题改变。
答案 1 :(得分:0)
很难分辨,因为它将取决于DMARC检查程序的最终实现。但是,即使在DMARC文档中详细说明,DMARC记录也不会太大,以至于您可能会溢出编辑器。
在我的情况下,使用Ubuntu Trusty(14.04)上的最后一个opendmarc
包以及Postfix
,在处理一些奇怪/格式错误的DMARC DNS记录时使守护进程崩溃(但事实并非如此)提)。
我只是添加单行方法并保证安全,不仅仅是因为可能会破坏检查软件,更糟糕的是会让您的邮件被拒绝,因为政策似乎没有被分配它实际上是!
所以我只是添加这样的东西:
_dmarc.example.su IN TXT "v=DMARC1; p=reject; rua=mailto:rua-dmarc@example.su"