2011-08-24 19 views
7

Zend_Mail (POP3) kullanarak posta kaynağını (üstbilgiler, gövde, sınır - hepsi birlikte düz metin olarak) nasıl alabilirim.Zend_Mail kullanarak posta kaynağını al

Varsayılan olarak çözümlenen parçaları döndürür, işlenmemiş ileti kaynağına ihtiyacım var.

cevap

2

.

Ancak sınıf kaynaklarına bakabilir ve ileti kaynağını almak için posta sunucusuna doğrudan bir komut gönderileceğini görebilirsiniz.

/** 
* 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; 
    } 

} 

Ve ancak daha

böyle hitap:

$transport = new My_Mailing_Transport(); 
$transport->send($mail); 
return $transport->getMessageContent(); 
1

Belki Zend_Mail_Storage_Pop3 sınıfın getRawHeader() ve getRawContent() yöntemlerini kullanabilirsiniz. Amacınız için yeterli mi?

Some API docs (ı Başvuru Kılavuzu'nda onları bulamadık):

1

bir Zend_Mail örneği varsa, kodu çözülmüş içeriği alabilirsiniz:

Zend Mail'de böyle yöntemi var
/** @var $message Zend_Mail */ 
echo $message->getBodyText()->getRawContent(); 
1

Bunun için kendi katman yapılan
İlgili konular