Zend_Mail阅读邮件

时间:2009-04-27 14:24:30

标签: html zend-framework zend-mail

使用Zend_Mail发送邮件的文档很棒,但接收邮件现在很痛苦。我目前想要获得明文部分和电子邮件的html部分。现在我已经编写了一个很长的函数,它遍历各个部分然后查看标题并查看它是否是可打印的可打印或base64而且我必须做很多才能获得信息。我可能错过了一个功能,我可以用它来获取明文和html我们的邮件吗?

2 个答案:

答案 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;

}