我有一个通过 SMTP 发送电子邮件的脚本,我试图让它使用 CPAN 的 Mail::DKIM::Signer 使用 DKIM 签名对电子邮件进行签名。问题是我收到正文哈希无效的错误。例如,我将下面的电子邮件发送给 port25.com 验证程序,它告诉我它预期的正文哈希是“QFBPfFyqSONobf7fNoeeGl652WY”,但我的签名是“qUFULrL5rN08Illvd85ZYXxgNNk=”。
My DNS record is "k=rsa; t=s; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDs5BnRmpNH0Pz6B02+z F2GuLm7ahrEXu6zB3WgxySbAGT8v9rpzI7ePhXhxo/RMXR9p5IYtzmBJ0NTjNLDKRFeSOMTeRdDi8DnO 4gUxKyT3v31IvS0+1ZZH2Sj404uv/jg2TKNinIU4/v+pM4ImLZ8uIXsEXRFgGhwKTjTJRNX0QIDAQAB"
有没有人能够解释为什么收件人(包括 yahoo 和 port25)期待不同的正文散列?与它的编码方式有关吗?
This is a MIME encoded message.
--=_b4326086ed9a1ae338d4dabe6b015dde
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi this is a test of DKIM. Bye!
--=_b4326086ed9a1ae338d4dabe6b015dde
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-=
1">
<style type=3D"text/css">
body,td,th { font-family: Verdana; font-size: 13px; color: #000000; }
body { background-color: #3895CB; margin: 0px 20px; text-align:center; }
</style>
</head>
<body>
Hi this a test of <b>DKIM</b>. Bye!
</body>
</html>
--=_b4326086ed9a1ae338d4dabe6b015dde--