使用Zend_Mail发送邮件的文档很棒,但接收邮件现在很痛苦。我目前想要获得明文部分和电子邮件的html部分。现在我已经编写了一个很长的函数,它遍历各个部分然后查看标题并查看它是否是可打印的可打印或base64而且我必须做很多才能获得信息。我可能错过了一个功能,我可以用它来获取明文和html我们的邮件吗?
答案 0 :(得分:4)
AFAIK,MIME电子邮件对于不同部分(HTML,纯文本,嵌入)的顺序没有标准。因此,您必须迭代所有零件并获得所需的零件。
但是因为Zend_Mail的结构是递归迭代应该很容易。也许您可以与我们分享您的代码,以便我们对其进行评论(如果有什么需要评论的话)?
答案 1 :(得分:0)
尝试实现以下内容:
/**
* Returns the parts with plain text
*
* @param Zend_Mail_Message $message
* @return array of Zend_Mail_Part
*/
public function findTextParts(Zend_Mail_Message $message){
$result = array();
foreach (new RecursiveIteratorIterator($message) as $part) {
$token = strtok($part->contentType, ';');
if ( $token == 'text/plain') {
$result[] = $part;
}
}
return $result;
}