抱歉,标题太模糊了。我不太明白为什么要同时使用 SPF 和 DKIM。
首先:如果发件人或 DNS 被“欺骗”,SPF 就可以通过它应该失败的地方;如果涉及代理和转发器的一些高级设置,SPF 就可能会失败。
DKIM 可以通过它应该失败的地方,要么是因为加密中的错误/弱点(我们排除这种可能性,因此简化了要点),要么是因为 DNS 查询被欺骗。
由于排除了加密错误,因此(在我看来)区别在于 DKIM 可用于 SPF 会失败的设置。我无法举出任何使用两者会受益的例子。如果设置允许使用 SPF,则 DIKM 不应添加任何额外验证。
有人能给我举个例子来说明同时使用两者的好处吗?
答案1
SPF 的评级比通过/失败多得多。在启发式评分垃圾邮件时使用这些评级可以使流程更简单、更准确。由于“高级设置”而失败表明邮件管理员不知道他在设置 SPF 记录时做了什么。没有 SPF 无法正确解释的设置。
加密技术从来都不是绝对有效的。DKIM 中唯一允许的加密通常需要大量资源才能破解。大多数人认为这足够安全。每个人都应该评估自己的情况。同样,DKIM 的排名不仅仅是通过/失败。
举个例子,使用这两种方式会受益:向两个不同的方发送邮件,一方检查 SPF,另一方检查 DKIM。另一个例子是,向一方发送邮件,该方的内容通常在垃圾邮件测试中排名很高,但 DKIM 和 SPF 抵消了这种影响,从而允许邮件投递。
虽然个别邮件管理员会设置自己的规则,但在大多数情况下,这两者都不是必需的。两者都有助于解决垃圾邮件的不同方面:SPF 是指谁在转发电子邮件,DKIM 是指电子邮件的完整性和来源的真实性。
答案2
这个问题在前一段时间已经得到回答,但我认为公认的答案缺乏为什么两者的要点必须一起使用才有效。
SPF 根据授权列表检查最后一个 SMTP 服务器跳转的 IP。DKIM 验证邮件最初是否由给定域发送,并保证其完整性。
有效的 DKIM 签名邮件可能会因未经修改而重新发送而被用作垃圾邮件或网络钓鱼邮件。SPF 不会检查邮件完整性。
想象一下这样一个场景:您收到一封有效的 DKIM 签名电子邮件(来自您的银行、朋友或其他任何人),并且您找到了一种无需修改即可利用此邮件的好方法:然后您可以将此邮件重新发送给不同的人数千次。由于邮件没有修改,DKIM 签名仍然有效,并且该邮件将被视为合法。
无论如何,SPF 都会检查邮件的来源(SMTP 服务器的真实 IP/DNS),因此 SPF 将阻止邮件的转发,因为您无法通过配置良好的 SMTP 服务器重新发送有效邮件,并且来自其他 IP 的邮件将被拒绝,从而有效地防止将“有效”的 DKIM 消息重新发送为垃圾邮件。
答案3
以下是您应该始终发布的一些原因两个都SPF 和 DKIM。
一些邮箱提供商仅支持其中一种,而一些则同时支持两种,但是其中一种的权重高于另一种。
DKIM 保护电子邮件在传输过程中不被更改,而 SPF 却不行。
我也会将 DMARC 添加到列表中。始终发布完整的电子邮件身份验证有什么缺点?