使用 Zend_Mail 发送邮件的文档很棒,但现在接收邮件很痛苦。我目前想要获取电子邮件的纯文本部分和 html 部分。现在我写了一个很长的函数,它遍历各个部分,然后查看标题,看看它是带引号的可打印的还是 base64 的,我必须做很多事情才能获得信息。我是否可能缺少一个可以获取邮件的明文和 html 的功能?
问问题
509 次
2 回答
4
AFAIK,MIME 电子邮件对不同部分(HTML、纯文本、嵌入)的顺序没有标准。因此,您必须遍历所有部分并获得所需的部分。
但是因为 Zend_Mail 的结构是递归的,所以迭代应该很容易。也许您可以与我们分享您的代码,以便我们对其发表评论(如果有任何评论)?
于 2009-05-02T07:36:39.477 回答
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;
}
于 2013-06-26T07:47:53.947 回答