Он возвращает HTML таким образом, потому что он кодирует его, используя кодировку для печати в кавычках, то есть то, как содержимое фактически отправляется в почтовом сообщении.
Если вы хотите получить контент без кодировки, вы можете попробовать это:
$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)
Допустимые значения:
- Zend_Mime :: ENCODING_7BIT
- Zend_Mime :: ENCODING_8BIT
- Zend_Mime :: ENCODING_QUOTEDPRINTABLE (по умолчанию)
- Zend_Mime :: ENCODING_BASE64
Вы можете либо проверить HTML, прежде чем вызывать setBodyHtml, если это возможно, либо получить необработанный, незакодированный контент, используя метод, показанный выше. В противном случае getBodyHtml () вернет HTML в его закодированном формате.