我最近一直在尝试在我们的 MS Exchange 服务器上为入站电子邮件实施 DMARC。我们目前正在使用盒子里的 SpamAssassin实现这一点。任何 SPF 查找现在似乎都运行良好,但一些(并非全部)DKIM 签名检查失败并最终进入垃圾邮件收件箱 - 我相信这是由于我们的 Exchange 服务器更改了传入邮件的 DKIM 签名正文。
今天,一位同事设置了一个运行 Exchange 服务器的单独 VPS。
作为一个测试,我们都订阅了同一份在线新闻通讯,新闻通讯电子邮件在他的 Exchange 服务器上通过了 DKIM,但在我的服务器上似乎失败了。如果我们比较两封电子邮件的标题:
all-elektronics.de(新闻通讯提供商)发送给我们的标头的最后一部分(即未由 Exchange 添加)是此处的日期标头,从我同事的 Exchange 服务器中可以看到: 日期标题
但是,如果我查看 Exchange Server 上收到的新闻稿的标题,它似乎在此日期标题下方添加了其他标题:添加标题
破坏 DKIM 的第一件事是 Exchange 删除了原始电子邮件中发送给我们的一个额外的空白行,这是我同事的 Exchange 服务器发送的,请注意两个“LF”表示两个空白行:空行
由于我的 Exchange 服务器添加了所有这些额外的标头,因此在尝试清理时它最终删除了多余的空白行:没有空行
使用 DKIM 计算的电子邮件“正文”从标题的第一个空白行之后的第一行开始。即,上图所示的 CRLF 表示标题和正文之间的“边界”。
但在他们发送的原始电子邮件中,在 Exchange 修改之前,有两行空白。这意味着这两个空白行中的第二行实际上算作正文的一部分,并在计算时被考虑在内。Exchange 删除了多余的一行,这破坏了它
我的 Exchange 服务器似乎也在改变 Content-Transfer-Encoding 的大小写,这也会破坏 DKIM
如能得到任何帮助我将非常感激。