5

问题:SPF Record (TXT)无法从域的 DNS 条目中检索到我的zwischengas.com
DNS 条目在我的 SPF 记录中有一行(作为 TXT 条目):

@  IN TXT "v=spf1 ip4:188.a.b.c ip4:xyz/22
ip4:xyz/24 ip4:xyz/21 ip4:xyz/24 ip4:xyz/24" "ip4:xyz ip4:xyz/22
ip4:xyz ip4:xyz/29 ip4:xyz/29 ip4:xyz/28" "ip4:xyz/24 ip4:xyz/24 a mx
?all"

我有问题,找不到这个 SPF 记录,我不知道为什么。根据 RFC,建议将很长的行拆分为多个字符串,以使所有子字符串小于 255 个字符。

我的域名是 zwischengas.com ,邮件服务器的 IP 是 188.abc,有人知道吗?

我尝试了这些测试但没有成功:

host -t txt zwischengas.com
spfquery -ip-address 188.a.b.c -m test@zwischengas.com -h zwischengas.com

使用在线工具进行的测试也没有成功:

Google Mail (gmail.com) 也无法检索我的 SPF 记录(根据原始邮件标题部分):

Received-SPF: neutral (google.com: 188.a.b.c is neither permitted
nor denied by best guess record for domain of
noreply1@zwischengas.com) client-ip=188.a.b.c;
4

2 回答 2

6

工作解决方案

您可以通过调用来测试您的 SPF 记录的正确性

host -t txt myhost.com

一个简单的 SPF 记录可能如下所示:

@ IN TXT "v=spf1 ip4:244.11.23.13 a mx ?all"

如果您一个接一个地添加 IP,您可能会收到来自 DNS 服务器的错误消息,指出字符串太长。
一个有效的解决方案是引入" "它。

所以而不是

@  IN TXT "v=spf1 ip4:244.11.23.13 ip4:144.21.23.13 ip4:222.11.11.13 ip4:244.182.23.191 ip4:203.101.22.13 a mx ?all"

你会有(一个例子):

@ IN TXT "v=spf1 ip4:244.11.23.13 ip4:144.21.23.13" " ip4:222.11.11.13 ip4:244.182.23.191" " ip4:203.101.22.13 a mx ?all"

" "选项在相应的 RFC 中进行了描述,并被所有 DNS 服务器接受(实际发生的是," "删除了 并且连接了子字符串)。

但是如果你有 20 个 IP 怎么办?你最终得到一个比允许的长得多的字符串。你能做什么?

对此的解决方案称为:include

一个例子:

@ IN TXT "v=spf1 include:_spf1.myhost.com include:_spf2.myhost.com a mx ?all"
_spf1 IN TXT "v=spf1 ip4:244.11.23.13 ip4:144.21.23.13 a mx ?all"
_spf2 IN TXT "v=spf1 ip4:222.11.11.13 ip4:244.182.23.191 ip4:203.101.22.13 a mx ?all"

您可以使用 N 层次结构对其进行扩展。我希望这会有所帮助,因为我花了一些时间才发现这一点!!

于 2013-08-08T16:11:26.703 回答
0

那是什么倍数“?

@  IN TXT "v=spf1 ip4:188.a.b.c ip4:xyz/22 ip4:xyz/24 ip4:xyz/21 ip4:xyz/24 ip4:xyz/24" "ip4:xyz ip4:xyz/22 ip4:xyz ip4:xyz/29 ip4:xyz/29 ip4:xyz/28" "ip4:xyz/24 ip4:xyz/24 a mx ?all"

不应该只有几个“”,然后是:

@  IN TXT "v=spf1 ip4:188.a.b.c ip4:xyz/22 ip4:xyz/24 ip4:xyz/21 ip4:xyz/24 ip4:xyz/24 ip4:xyz ip4:xyz/22 ip4:xyz ip4:xyz/29 ip4:xyz/29 ip4:xyz/28 ip4:xyz/24 ip4:xyz/24 a mx ?all"
于 2013-08-08T10:45:43.057 回答