2010-06-29 78 views
2

我有一个脚本通过SMTP发送邮件,我试图用CPAN的Mail :: DKIM ::使用DKIM签名来签名邮件。签名者。麻烦的是我得到的错误,身体散列是无效的。例如,我将下面的电子邮件发送到port25.com验证程序,它告诉我它期望的主体哈希为“QFBPfFyqSONobf7fNoeeGl652WY =”,但我的签名显示为“qUFULrL5rN08Illvd85ZYXxgNNk =”。使用Perl的DKIM错误正文散列CPAN Mail :: DKIM ::签名者

我的DNS记录为 “K = RSA; T = S; P = MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDs5BnRmpNH0Pz6B02 + Z F2GuLm7ahrEXu6zB3WgxySbAGT8v9rpzI7ePhXhxo/RMXR9p5IYtzmBJ0NTjNLDKRFeSOMTeRdDi8DnO 4gUxKyT3v31IvS0 + 1ZZH2Sj404uv/jg2TKNinIU4/V + pM4ImLZ8uIXsEXRFgGhwKTjTJRNX0QIDAQAB”

是任何人都能够摆脱一些光到为什么收件人(包括雅虎&端口25)期待不同的身体哈希?与它的编码方式有关吗?

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

问题解决了。

dos2unix在电子邮件签名之前做了诡计。

这是否意味着问题与回车或什么?

+1

谁知道?你没有显示你使用的Perl代码,所以只能进行推测。 – daxim 2010-06-30 14:22:21

0

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

把它改为'\ r \ n'解决了这个问题。