我正在使用Zend_Mail创建带有动态内容的通讯,但是我想对生成的HTML代码进行W3C验证,有没有办法获取整个电子邮件代码以便我可以获取并验证它? getBodyHtml函数不能正确地返回代码,因为它会添加类似于:
<tr>=0D=0A=<td width=3D"100%">=0D=0A
到电子邮件中。<tr>=0D=0A=<td width=3D"100%">=0D=0A
到电子邮件中。它返回这样的HTML,是因为它使用引用可打印编码对其进行编码,这就是实际发送邮件消息的方式。
如果您想获得未经编码的内容,可以尝试使用以下方法:
$part = $mail->getBodyHtml(); // returns Zend_Mime_Part
if ($part !== false && $part instanceof Zend_Mime_Part) {
$html = $part->getRawContent(); // returns the raw, unencoded content
}
setBodyHtml($html, $charset = null, $encoding = Zend_Mime::ENCODING_QUOTEDPRINTABLE)
有效选项包括: