2011-08-24 15 views
7

Come posso ottenere fonte elettronica (header, corpo, confine - tutti insieme come un solo testo) utilizzando Zend_Mail (POP3).Get fonte mail utilizzando Zend_Mail

Restituisce parti analizzato da impostazione predefinita, ho bisogno del sorgente del messaggio grezzo.

risposta

2

Non esiste metodo Zend posta .

Ma si può guardare le fonti di classe e vedere come inviare un comando diretto al server di posta per ottenere il sorgente del messaggio.

1

Forse potresti utilizzare i metodi getRawHeader() e getRawContent() della classe Zend_Mail_Storage_Pop3. Sarebbe abbastanza per il tuo scopo?

Some API docs (io non li trovo nella Guida di riferimento):

1

Se si dispone di un'istanza Zend_Mail, è possibile ottenere il contenuto decodificato:

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

ho fatto il mio strato per questo:

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

} 

E di chiamare solo che:

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