同一套模板发给内部同事能收到,发给外部客户八成进垃圾箱。邮件头里 DKIM-Signature 的 d= 是服务商域名,From 是自家域名,DMARC 显示 fail。日志里能对上时间点,这种反而好排。

发信走的是第三方中继,签名用的是中继自己的域,和 From 头不在同一个组织域下。DMARC 要求对齐,对不上就按失败处理。新域名没有历史信誉,失败一次就够进垃圾箱。这一点先确认清楚,后面就不用反复试。

dig TXT s1._domainkey.example.com +short
swaks --to check-auth@verifier.port25.com --from noreply@example.com --server smtp.example.com

「DKIM 域对齐」确认了原因之后,改动尽量只碰那一处,顺手改的东西后面最容易出问题。先做最小复现,能稳定跑出来的问题,排查成本会低一个数量级。

别只看报错的最后一行,往上看几行,真正的起因通常在上面。

处理上按这个顺序:在中继后台把发信域改成自家域名 并配好对应私钥;DNS 里加选择器记录 公钥和私钥要成对;From 域和 DKIM 的 d= 保持一致 子域也算对齐;发测试信看 DMARC 的 pass 和对齐结果。

结果对不对很好判断,验证报告里 DKIM 和 DMARC 都是 pass,外部邮箱测试信进入收件箱,头部不再有代发警告。

作者 9823189