我有一个通过SMTP发送电子邮件的脚本,我试图让它使用CPAN的Mail :: DKIM :: Signer签署带有DKIM签名的电子邮件。麻烦的是我收到正文哈希无效的错误。例如,我将下面的电子邮件发送到port25.com验证程序,它告诉我它预期的正文哈希是“QFBPfFyqSONobf7fNoeeGl652WY =”,但我的签名是“qUFULrL5rN08Illvd85ZYXxgNNk =”。
我的DNS记录是“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--
答案 0 :(得分:0)
问题解决了。
在签名之前,电子邮件上的dos2unix就可以了。这是否意味着回车或其他问题?
答案 1 :(得分:0)
我遇到了同样的问题。我使用'\ n'作为换行符。
将其转换为'\ r \ n'解决了这个问题。