Halfgaar Asked: 2018-12-03 03:24:54 +0800 CST2018-12-03 03:24:54 +0800 CST 2018-12-03 03:24:54 +0800 CST SPF 和 DMARC - 是否使用了 spf 政策? 772 我了解 SPF 如何与 DMARC 对齐有关,但有一件事我不清楚: DMARC 中是否使用了 SPF 策略(-all或~all)?还是 DMARC 仅使用 IP 范围? 问题是,众所周知,SPF 会中断转发。DKIM 在转发方面要好得多。那么,既然我已经实施了 DKIM+DMARC,我可以放宽我的 SPF 政策,因为 DMARC 会负责检查 SPF 对齐吗? spf 2 个回答 Voted Reinto 2018-12-19T05:36:20+08:002018-12-19T05:36:20+08:00 DMARC 实际上评估您的 SPF 结果,寻找 PASS,以及smtp.mailfrom域和header.from域之间的对齐。只要 SPF 不产生通过,(无论您是否有?all,~all或-all最后的机制),DMARC 都不会将 SPF 结果视为 PASS。DKIM 也是如此。域应与header.d域对齐,header.from结果应为 PASS。 但是,为了部分回答您的问题,一些服务器会将 SPF 硬故障 ( -all) 解释为拒绝您的电子邮件的原因,即使它通过了 DKIM 上的 DMARC。 另一方面,并非所有接收服务器都会检查 DMARC。因此 SPF 软失败 ( ~all) 不会导致电子邮件自行被拒绝(一般而言)。同时 SPF 并不是防止欺骗的最佳工具,因为 SPF 是在smtp.mailfrom域而不是header.from域上检查的,并且只有后者对收件人可见(在大多数客户端软件中)。因此 DMARC 中的对齐要求。 至于什么更适合转发:这取决于。一些转发器将重写Return-Path(aka snmtp.mailfrom),这将修复 SPF,但会破坏 DMARC 对齐。例如,其他人会在字段中添加一段文本,subject这反过来会破坏 DKIM 签名(如果subject是签名的标题之一)。它不是那么明确。Authenticated Received Chain (ARC) 是一种在这方面很有帮助的协议,尽管它仍在开发中。 我的建议是使用带有软故障机制的 SPF,并使用带有拒绝策略的 DMARC。此外,免费使用 SPF 和 DKIM 以获得最佳效果。 我的意见:您在 DMARC 中发布了明确的指令。由接收方实施相应的检查。事实上,接收服务器可以配置为完全忽略 SPF(硬)失败和 DMARC 拒绝策略。这不是发件人的责任,而是收件人的特权。 Best Answer Lexib0y 2018-12-03T04:54:51+08:002018-12-03T04:54:51+08:00 它只是检查 IP/Host 是否在 SPF 记录中,总体逻辑是: If the sending IP address is contained in the SPF record = SPF PASS If the sending IP address is not contained in the SPF record = SPF FAIL (请参阅http://knowledge.ondmarc.com/learn-about-dmarc/all-you-need-to-know-about-spf-dkim-and-dmarc等网站,其中引用了上述逻辑)。 DMARC 和 SPF 的策略是独立的。我不会更改 SPF 政策,因为有 DMARC 政策。您应该考虑到并非所有邮件服务器都使用 DMARC,而是使用 SPF。因此,SPF 政策本身应该是有意义的。
DMARC 实际上评估您的 SPF 结果,寻找 PASS,以及
smtp.mailfrom
域和header.from
域之间的对齐。只要 SPF 不产生通过,(无论您是否有?all
,~all
或-all
最后的机制),DMARC 都不会将 SPF 结果视为 PASS。DKIM 也是如此。域应与header.d
域对齐,header.from
结果应为 PASS。但是,为了部分回答您的问题,一些服务器会将 SPF 硬故障 (
-all
) 解释为拒绝您的电子邮件的原因,即使它通过了 DKIM 上的 DMARC。另一方面,并非所有接收服务器都会检查 DMARC。因此 SPF 软失败 (
~all
) 不会导致电子邮件自行被拒绝(一般而言)。同时 SPF 并不是防止欺骗的最佳工具,因为 SPF 是在smtp.mailfrom
域而不是header.from
域上检查的,并且只有后者对收件人可见(在大多数客户端软件中)。因此 DMARC 中的对齐要求。至于什么更适合转发:这取决于。一些转发器将重写
Return-Path
(akasnmtp.mailfrom
),这将修复 SPF,但会破坏 DMARC 对齐。例如,其他人会在字段中添加一段文本,subject
这反过来会破坏 DKIM 签名(如果subject
是签名的标题之一)。它不是那么明确。Authenticated Received Chain (ARC) 是一种在这方面很有帮助的协议,尽管它仍在开发中。我的建议是使用带有软故障机制的 SPF,并使用带有拒绝策略的 DMARC。此外,免费使用 SPF 和 DKIM 以获得最佳效果。
我的意见:您在 DMARC 中发布了明确的指令。由接收方实施相应的检查。事实上,接收服务器可以配置为完全忽略 SPF(硬)失败和 DMARC 拒绝策略。这不是发件人的责任,而是收件人的特权。
它只是检查 IP/Host 是否在 SPF 记录中,总体逻辑是:
(请参阅http://knowledge.ondmarc.com/learn-about-dmarc/all-you-need-to-know-about-spf-dkim-and-dmarc等网站,其中引用了上述逻辑)。
DMARC 和 SPF 的策略是独立的。我不会更改 SPF 政策,因为有 DMARC 政策。您应该考虑到并非所有邮件服务器都使用 DMARC,而是使用 SPF。因此,SPF 政策本身应该是有意义的。