2

我有一个通过 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--
4

2 回答 2

0

我有同样的问题。我使用 '\n' 作为换行符。

将其更改为 '\r\n' 解决了问题。

于 2013-02-26T21:39:17.110 回答
0

问题解决了。

dos2unix 在签名之前在电子邮件上做了这个伎俩。

这是否意味着问题出在回车或其他方面?

于 2010-06-30T13:48:40.987 回答