4
我正在通過Zend_Mail創建一個包含動態內容的新聞稿,但是我想驗證生成的HTML代碼對抗W3C,有沒有辦法讓整個電子郵件代碼發送,以便我可以抓住它驗證? getBodyHtml函數沒有正確地返回代碼,因爲它在電子郵件中添加了如下內容:<tr>=0D=0A=<td width=3D"100%">=0D=0A
。如何預覽Zend_Mail的HTML代碼?
我正在通過Zend_Mail創建一個包含動態內容的新聞稿,但是我想驗證生成的HTML代碼對抗W3C,有沒有辦法讓整個電子郵件代碼發送,以便我可以抓住它驗證? getBodyHtml函數沒有正確地返回代碼,因爲它在電子郵件中添加了如下內容:<tr>=0D=0A=<td width=3D"100%">=0D=0A
。如何預覽Zend_Mail的HTML代碼?
它正在返回這樣的HTML,因爲它使用quoted-printable編碼對它進行編碼,這就是郵件中實際發送內容的方式。
如果你想獲得無編碼的內容,你可以試試這個:
$part = $mail->getBodyHtml(); // returns Zend_Mime_Part
if ($part !== false && $part instanceof Zend_Mime_Part) {
$html = $part->getRawContent(); // returns the raw, unencoded content
}
當你定身HTML使用Zend_Mail :: setBodyHtml(),您可以指定編碼。函數原型是setBodyHtml($html, $charset = null, $encoding = Zend_Mime::ENCODING_QUOTEDPRINTABLE)
有效選項是
如果可能,您可以在調用setBodyHtml之前驗證HTML ,或者使用上面所示的方法檢索未編碼的原始內容。否則,getBodyHtml()將以其編碼格式返回HTML。
不錯,那段代碼像魅力一樣工作,謝謝! –