我目前正在使用PHPmailer从我的网站发送电子邮件。
一切正常,我可以发送带有SPF签名的电子邮件,因为我已经配置了DNS。
现在我遇到了dkim签名的问题,我已经尝试过使用PHP中的send()函数在消息的$ header中手动添加签名。
现在我正在使用phpmailer方法mail->send()
,但它仍然无效。我的签名被dkimcore识别。
此邮件测试人员http://www.appmaildev.com/fr/dkim告诉我,我的DKIM测试失败,因为我的身体哈希是错误的,他们告诉我bh=
参数应该是什么样子。
以下是我的问题:他们是如何获得此参数的?
例如,如果我作为一个身体发送"你好"是否有一个库可以执行sha256,RSA和base64加密,我可以看到预期的结果?
如何确保正确生成我的正文哈希?
以下是发送电子邮件的代码:
$mail->isHTML(true);
$mail->Subject = $subject;
$mail->Body = $message_html;
$mail->AltBody = $message_txt;
$mail->DKIM_domain = 'mydomain.com';
$mail->DKIM_identity = $mail->From;
$mail->DKIM_private_string = "dkim/private.key";
$mail->DKIM_selector = 'default';