DKIM 主体哈希失败

Osc*_*car 5 php exim dkim

我们从 PHP 应用程序发送带有 EXIM 4.71 的电子邮件。DKIM 已启用并正常工作,除非发送特定类型的邮件时,这会导致dkim=neutral (body hash did not verify)

Received-SPF: pass (google.com: domain of no-reply@letsrace.se designates 2a02:750:5::256 as permitted sender) client-ip=2a02:750:5::256;
Authentication-Results: mx.google.com;
       spf=pass (google.com: domain of no-reply@letsrace.se designates 2a02:750:5::256 as permitted sender) smtp.mail=no-reply@letsrace.se;
       dkim=neutral (body hash did not verify) header.i=@letsrace.se
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=letsrace.se; s=dkim;
    h=Content-Transfer-Encoding:Content-Type:Reply-To:From:Subject:To:Message-Id:Date; bh=9CkFmpgBio6ql+M36DtO8Gbw8keno3PlJ6db2JTrwy4=;
    b=ILyB0JLZLWTig346yGWzmOwk+bEgr0k3hjYyPovA4B3+ggRshzTX9yDeAeklEmYaq4H768zZc0Vn6tR9YpngllkHJ6XTf3lTPr570yWOEhE8dvCkq+M0CBXmxEApHJmoKq2Oeh7sFCHVWGiN8JXYa8ohgsSFEd5Z+xHFlj3AvbI=;
Run Code Online (Sandbox Code Playgroud)

失败的电子邮件类型包含通过网站上的 HTML 表单输入的消息,并且从此应用程序发送的其他邮件都正常。我一直怀疑混合行结尾是罪魁祸首,但无法通过标准化行结尾来改善这种情况。

EXIM 在创建 DKIM 哈希后是否执行一些清理?

有任何想法吗?

Osc*_*car 3

这很奇怪,但以下情况似乎是正确的:

这不起作用,导致 DKIM 正文哈希失败

<?php echo $heading; ?> [LF]
[LF]
[LF]
<?php echo $content_for_layout; ?> [LF]
Run Code Online (Sandbox Code Playgroud)

但这是应该的

<?php echo $heading; ?> [LF]
[LF]
[LF]
<?php echo $content_for_layout; ?>[LF]
Run Code Online (Sandbox Code Playgroud)

不是最后一个 [LF] 之前的空格。