【问题标题】:SOFTFAIL = faulty SPF or stubborn mailserver?SOFTFAIL = 错误的 SPF 或顽固的邮件服务器?
【发布时间】:2015-03-12 07:42:53
【问题描述】:

我在使用 phphmailer 发送的大多数电子邮件中都遇到了软故障。我已经多次更新 SPF 并解决了各种争执。我已经阅读了大多数相关的 stackoverflow 帖子,但没有一个能解决我的问题。

效果最好的 spf 是:

"v=spf1 mx a a:mail.citynetwork.se ?all"

它仍然给我一个软失败和 1.4-1.9 的 X-Spam-Score。

服务器 mail.citynetwork.se (91.123.193.200) 正在处理所有传入的邮件,包括 smtp,但是当他们发送邮件时,他们使用 mailout.citynetwork.se(91.123.193.63 和 91.123.193.90)。

是说: Received-SPF: softfail (google.com: domain of transitioning admin@skivbasar.se 没有将 2a00:16d8:0:12::10 指定为允许的发件人) client-ip=2a00:16d8:0:12::10;

Received-SPF: permerror(google.com:在查找 admin@skivbasar.se 期间处理中出现永久性错误)client-ip=2a00:16d8:0:12::10;

或 Received-SPF:softfail(google.com:转换域 admin@skivbasar.se 未将 91.123.193.90 指定为允许的发件人)client-ip=91.123.193.90;

ip 91.123.193.90 (mailout.citynetwork.se) 似乎没有任何 SPF 记录,所以如果我添加它会导致 permerror。

我神奇地得到了一次通行证: Received-SPF: pass (google.com: domain of admin@skivbasar.se 指定 91.123.193.90 为允许的发件人) client-ip=91.123.193.90;

但是当我再次尝试时,它却失败了。

使用 SPF: “v=spf1 mx a 包括:mail.citynetwork.se -all” 我收到了第一个 permerror,然后是 PASS,然后是中立,中立中立....

任何人都可以理解这一点吗? 我的服务器上的 SPF 记录是否没有立即更新,或者我如何使用相同的代码、邮件和 SPF 获得不同的检查? “包括:”和“a:”是否给出相同的结果? 我需要 CIDR 地址吗? 我应该/我可以添加 IP 而不是域吗?

【问题讨论】:

    标签: email smtp spf


    【解决方案1】:

    所以您的问题有很多内容,我们需要稍微梳理一下。首先,请记住 SPF 是基于 DNS 的策略,因此该策略的评估取决于接收邮件服务器的 DNS。因此,由于 DNS 缓存,策略更改可能不会立即生效,甚至对于处理单个域的入站电子邮件的不同服务器来说甚至是一致的。这可以解释为什么您会看到不同的结果。

    作为一般规则,在调试 SPF 策略时,您应该设置较低的 TTL(300 或 600 秒)并尝试间隔更改。某些服务器会将 1 小时以下的任何 TTL 视为一个小时,因此如果您进行得太快,您的更改可能不会像您预期的那样传播。

    现在,关于您应该使用什么策略的另一个问题:

    1. 请勿使用“包含”,除非您包含在您包含的域上定义的 SPF 记录。没有为 mail.citynetwork.se 定义 SPF 记录,因此您不应该使用包含指令

    2. 作为一般规则,最好尽可能使用显式 IP 地址而不是 a 或 mx 指令。对于您的情况,v=spf1 ip4:91.123.193.90 ip4:91.123.193.63 ip6:2a00:16d8:0:12::10 ~all 之类的规则应该有效。请注意,这假设 IP 地址是静态的,但实际情况可能并非如此。

    3. 如果 IP 地址不是静态的,则可以在规则中使用 a 指令。例如,v=spf1 a:mailout.citynetwork.se ~all 之类的东西。这包括您引用的两个 IPv4 地址,尽管 AAAA 记录中的 IPv6 地址与您问题中的地址不完全匹配。从您提出问题到现在,该地址可能已更改,也可能不是正确的地址。所以这条规则可能无法开箱即用。

    因此,将规则更改为我在上面 #2 或 #3 中指定的规则,TTL 较低,等待一个小时左右,然后再次运行测试。

    【讨论】:

    • 感谢出色的分析器。这次我不会尝试,因为我决定使用 mandrill 的免费 smpt 服务器,它也记录所有邮件。我的主机 citynetwork.se 主要有 wordpress 网站,似乎对解决我的问题根本不感兴趣。
    猜你喜欢
    • 1970-01-01
    • 2012-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-25
    • 2015-12-21
    • 2015-03-16
    • 1970-01-01
    相关资源
    最近更新 更多