邮件一过中继 DKIM 验签就失败?MailPlus 规范化设置从 relaxed/simple 手动切到 relaxed/relaxed 的三步

直发没事,一过中继就验签失败

DKIM 的原理不复杂:发送服务器用私钥给邮件签名,收件方到你的 DNS 里查公钥验签,验过了就证明内容没被中途改动。麻烦在于,公司外发的邮件常常要经过第三方中继或邮件网关——有些中继会在信上动手脚:加一页免责声明页脚、调整正文格式,都算「改动」。

MailPlus Server 默认的规范化设置是 relaxed/simple。这个组合对邮件头宽容、对正文严格:中继一旦动了正文,签名与内容对不上,收件方验签直接失败。这就是「直发进收件箱、过中继进不来」的典型成因。

三步切换规范化设置

官方给出的通路是手动编辑配置模板:

第一步,编辑模板文件

找到这台 NAS 上的这个文件:

/var/packages/MailPlus-Server/target/etc/template/opendkim.template

第二步,改 Canonicalization 一行

在文件里找到:

Canonicalization relaxed/simple

把它改为:

Canonicalization relaxed/relaxed

前半段管邮件头、后半段管正文——正文从严格比对切到宽容比对,中继的小改动不再一票否决。

第三步,重启 DKIM 签名服务

MailPlus Server > 域 > 高级,重启 DKIM 签名服务,改动即告生效。改完建议从外部邮箱发一封测试信回来,确认签名状态正常。

这条路的边界要认清

官方在文档里说得很直白:这是针对第三方中继行为的变通办法,外部中继对邮件内容所做的更改,厂商无法提供额外支持。换句话说——

  • relaxed/relaxed 提高的是「对改动的容忍度」,不是修复了谁的问题;
  • 中继若对正文做大改(重排 MIME 结构、转码),宽松模式也可能救不回来;
  • 治本的两条路始终是:让中继不要改内容,或让这批邮件绕开中继直发。

小结

  • 症状:直发验签正常,过中继必失败,多因中继改动正文撞上 simple 严格比对;
  • 三步:编辑 opendkim.template,把 Canonicalization 从 relaxed/simple 改为 relaxed/relaxed,再到域高级页重启 DKIM 签名服务;
  • 边界:官方定位为变通方法,外部中继的内容更改不在支持范围,治本仍是让中继不改内容或直发。

诚鑫致达科技切换这类签名参数后的验收习惯是外发三连:给三个不同域的邮箱各发一封测试信,第二天逐个回访——三封都进了收件箱而不是垃圾箱,参数才算动对了。