【发布时间】:2016-06-20 12:56:34
【问题描述】:
设置 content-md5 标头的正确标记是什么,尤其是在使用多部分/mime 编码邮件时?
$mail->addCustomHeader('Content-MD5', base64_encode(md5($body)));
包含邮件的正文部分是否足够,或者我必须包含主题/附件/...?
【问题讨论】:
设置 content-md5 标头的正确标记是什么,尤其是在使用多部分/mime 编码邮件时?
$mail->addCustomHeader('Content-MD5', base64_encode(md5($body)));
包含邮件的正文部分是否足够,或者我必须包含主题/附件/...?
【问题讨论】:
不,它不会那样工作。 Content-MD5 (RFC1864) 只能应用于单项 MIME 元素,例如 text/html,而不能应用于整个多部分消息。 PHPMailer 仅在消息级别添加自定义标头(使用addCustomHeader 时),因此无法为单个部分计算此标头。您需要覆盖 createBody 函数以添加该标题,这将非常繁琐。
总体而言,更好的选择是使用 DKIM,它提供了相同的防篡改能力,但它已经存在并且正在运行,并且得到了 ISP 的广泛支持。
在 DKIM 上使用 Content-MD5 有什么特别的原因吗?
【讨论】: