PHPMailer 和 Content-MD5
PHPMailer and Content-MD5
设置 content-md5 header 的正确标记是什么,尤其是在使用多部分/mime 编码的邮件时?
$mail->addCustomHeader('Content-MD5', base64_encode(md5($body)));
包含邮件的 body-part 是否足够,还是我必须包含主题/附件/...?
不,这样不行。 Content-MD5 (RFC1864) 只能应用于 single-item MIME 元素,例如 text/html,而不能应用于整个多部分邮件。 PHPMailer 仅在消息级别添加自定义 headers(使用 addCustomHeader
时),因此无法为单个部分计算此值。您需要重写 createBody
函数以添加 header,这将非常繁琐。
总体上更好的选择是使用 DKIM,它提供了相同类型的 anti-tampering 能力,但它已经存在并且可以工作并且得到了 ISP 的广泛支持。
在 DKIM 上使用 Content-MD5 有什么特殊原因吗?
设置 content-md5 header 的正确标记是什么,尤其是在使用多部分/mime 编码的邮件时?
$mail->addCustomHeader('Content-MD5', base64_encode(md5($body)));
包含邮件的 body-part 是否足够,还是我必须包含主题/附件/...?
不,这样不行。 Content-MD5 (RFC1864) 只能应用于 single-item MIME 元素,例如 text/html,而不能应用于整个多部分邮件。 PHPMailer 仅在消息级别添加自定义 headers(使用 addCustomHeader
时),因此无法为单个部分计算此值。您需要重写 createBody
函数以添加 header,这将非常繁琐。
总体上更好的选择是使用 DKIM,它提供了相同类型的 anti-tampering 能力,但它已经存在并且可以工作并且得到了 ISP 的广泛支持。
在 DKIM 上使用 Content-MD5 有什么特殊原因吗?