8

如何使用 Zend_Mail (POP3) 获取邮件源(标题、正文、边界 - 全部作为纯文本)。

它默认返回解析的部分,我需要原始消息源。

4

4 回答 4

2

Zend Mail 中没有这种方法。

但是您可以查看类源并了解如何向邮件服务器发送直接命令以获取消息源。

于 2011-08-30T20:13:45.970 回答
1

也许你可以使用类的getRawHeader()andgetRawContent()方法Zend_Mail_Storage_Pop3。是否足以满足您的目的?

一些 API 文档(我在参考指南中没有找到它们):

于 2011-08-24T07:57:25.807 回答
1

如果你有 Zend_Mail 实例,你可以得到解码后的内容:

/** @var $message Zend_Mail */
echo $message->getBodyText()->getRawContent();
于 2011-08-25T16:22:00.483 回答
1

我为此制作了自己的图层:

    /**
 * Transport mail layer for retrieve content of message
 *
 * @author Petr Kovar
 */
class My_Mailing_Transport extends Zend_Mail_Transport_Abstract{

    protected $_messageContent;

    /**
     * Only assign message to some variable
     */
    protected function _sendMail(){

        $this->_messageContent = $this->header . Zend_Mime::LINEEND . $this->body;
    }

    /**
     * Get source code of message
     * 
     * @return string
     */
    public function getMessageContent(){
        return $this->_messageContent;
    }

}

而不仅仅是这样称呼:

$transport = new My_Mailing_Transport();
$transport->send($mail);
return $transport->getMessageContent(); 
于 2011-12-06T11:01:20.017 回答