我的域发送的邮件将始终经过 DKIM 签名,收件人应立即丢弃任何未经过签名的邮件。但严格的 SPF 执行会导致问题,即内部邮件转发规则和其他类型的实施细节会导致虚假中断。SPF、DKIM 和 DMARC 记录的适当组合是什么,以使接收系统将 DKIM 故障视为绝对的“停止投递,肯定是垃圾邮件”,而 SPF 只是一种提示?
答案1
根据设计,DMARC 会在以下情况下通过:DKIM 或 SPF是对齐即与标头匹配From
。众所周知,DKIM 对齐在转发后仍然有效,而 SPF 对齐则不行:转发邮件的服务应将邮件放入另一个信封中,即使用其自己的MAIl FROM
( Return-Path
) 地址,尽管 SPF 已自行传递,但这仍会破坏对齐。
关于配置:
- 使用 DKIM 签署每封邮件,保存 DKIM 记录并使 DKIM 签名与邮件
From
头保持一致。不存在硬/软 DKIM 故障,因为 DKIM 测试只是将签名与 DNS 发布的公钥进行比较。 - 如果没有签名,DKIM 本身无法判断是否应该有签名。这时您需要 DMARC:您可以通过以下方式强制执行 DKIM:
p=reject
在您的 DMARC 政策中。 - 按照之前的设置,防晒指数保护标头变得不那么重要
From
。例如,为了防止 SPF 出现硬故障,使信封域部分不受保护,这样做是可以的~all
。由于 DMARC 需要 SPF 才能通过并对齐,因此它将在 SPF 上失败软失败,但只要通过 DKIM 对齐,就没关系。
如果你想对 DKIM 绝对严格请记住,仅对齐和通过 SPF 也会使 DMARC 通过。如果您想让 DMARC 在没有 DKIM 的情况下始终失败,您可以使用不同的域作为信封发件人,并制定v=spf1 -all
SPF 策略来完全阻止使用此域作为信封发件人。但是,这不是典型的配置,在某些垃圾邮件过滤器上可能看起来更糟。