【问题标题】:Get mail source using Zend_Mail使用 Zend_Mail 获取邮件源
【发布时间】:2011-11-02 12:32:10
【问题描述】:

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

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

【问题讨论】:

    标签: php zend-framework email pop3 zend-mail


    【解决方案1】:

    Zend Mail 中没有这种方法。

    但你可以查看类源,看看如何直接向邮件服务器发送命令以获取消息源。

    【讨论】:

      【解决方案2】:

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

      Some API docs(我在参考指南中没有找到):

      【讨论】:

        【解决方案3】:

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

        /** @var $message Zend_Mail */
        echo $message->getBodyText()->getRawContent();
        

        【讨论】:

          【解决方案4】:

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

              /**
           * 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(); 
          

          【讨论】:

            猜你喜欢
            • 2010-10-22
            • 2010-11-11
            • 2011-04-15
            • 2011-01-24
            • 1970-01-01
            • 2011-06-13
            • 2011-05-27
            • 2010-12-10
            • 2011-10-25
            相关资源
            最近更新 更多