![为什么 SPF 允许 +all?](https://linux22.com/image/723797/%E4%B8%BA%E4%BB%80%E4%B9%88%20SPF%20%E5%85%81%E8%AE%B8%20%2Ball%EF%BC%9F.png)
我正在查看各个站点如何设置其 SPF 记录,并发现一个站点的 SPF 记录以 结尾+all
。
这似乎是个坏主意,而且spf-全部关于此事,有如下说法:
+all Pass 该电子邮件绝非伪造。不应使用此选项。
但是我在 RFC 中找不到任何表明禁止此行为的内容,因此它似乎是一条有效记录。
这是有效记录吗?如果是,大多数垃圾邮件过滤器是否会将此视为提高所需级别的指示?垃圾邮件来自此域的邮件在被视为垃圾邮件之前,是否会被记录下来,或者是否会简单地忽略该记录或将其计入域中?
答案1
SPF 定义在RFC 7208。
“all”关键字定义如下:
5.1. “全部”
全部 = “全部”
“全部”机制是一种始终匹配的测试。它用作记录中最右边的机制,以提供明确的默认值。
例如:
v=spf1 a mx -all
永远不会测试“全部”之后的机制。必须忽略“全部”之后列出的机制。当记录中有“全部”机制时,必须忽略任何“重定向”修饰符(第 6.1 节),无论术语的相对顺序如何。
你甚至有这个例子:
v=spf1 +all
-- any <ip> passes
或者
example.com. SPF ( "v=spf1 "
"-include:ip4._spf.%{d} "
"-include:ptr._spf.%{d} "
"+all" )
ip4._spf.example.com. SPF "v=spf1 -ip4:192.0.2.0/24 +all"
ptr._spf.example.com. SPF "v=spf1 -ptr +all"
This example shows how the "-include" mechanism can be useful, how an
SPF record that ends in "+all" can be very restrictive, and the use
of De Morgan's Law.
所以+all
是有用的,而且肯定不会被禁止。
至于垃圾邮件过滤器,很难说他们如何处理它,这是一个本地策略配置。