2011-08-24 18 views
7

Làm cách nào để nhận nguồn thư (tiêu đề, nội dung, ranh giới - tất cả cùng nhau dưới dạng văn bản thuần túy) bằng Zend_Mail (POP3).Nhận nguồn thư bằng cách sử dụng Zend_Mail

Nó trả về các phần được phân tích theo mặc định, tôi cần nguồn thư thô.

Trả lời

2

Không có phương pháp như vậy trong Zend Thư .

Nhưng bạn có thể xem các nguồn của lớp và xem cách gửi lệnh trực tiếp đến máy chủ thư để nhận nguồn tin nhắn.

1

Có thể bạn có thể sử dụng các phương pháp getRawHeader()getRawContent() của lớp Zend_Mail_Storage_Pop3. Nó sẽ là đủ cho mục đích của bạn?

Some API docs (tôi không tìm thấy chúng trong Hướng dẫn tham khảo):

1

Nếu bạn có một trường hợp Zend_Mail, bạn có thể nhận được các nội dung được giải mã:

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

tôi làm lớp của riêng tôi cho rằng:

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

} 

Và vì chỉ gọi đó là:

$transport = new My_Mailing_Transport(); 
$transport->send($mail); 
return $transport->getMessageContent(); 
Các vấn đề liên quan