コード例 #1
0
 /**
  * get message content (body, headers and attachments)
  * 
  * @param Felamimail_Model_Message $_message
  * @param Felamimail_Model_Account $_account
  * @param string $_partId
  */
 protected function _getCompleteMessageContent(Felamimail_Model_Message $_message, Felamimail_Model_Account $_account, $_partId = NULL)
 {
     $mimeType = $_account->display_format == Felamimail_Model_Account::DISPLAY_HTML || $_account->display_format == Felamimail_Model_Account::DISPLAY_CONTENT_TYPE ? Zend_Mime::TYPE_HTML : Zend_Mime::TYPE_TEXT;
     $headers = $this->getMessageHeaders($_message, $_partId, true);
     $attachments = $this->getAttachments($_message, $_partId);
     $this->_attachments = $attachments;
     $body = $this->getMessageBody($_message, $_partId, $mimeType, $_account, true);
     $signature = $this->getDigitalSignature($_message, $_partId);
     if ($_partId === null) {
         $message = $_message;
         $message->body = $body;
         $message->headers = $headers;
         $message->attachments = $attachments;
         $message->signature_info = $signature;
     } else {
         // create new object for rfc822 message
         $structure = $_message->getPartStructure($_partId, FALSE);
         $message = new Felamimail_Model_Message(array('messageuid' => $_message->messageuid, 'folder_id' => $_message->folder_id, 'received' => $_message->received, 'size' => array_key_exists('size', $structure) ? $structure['size'] : 0, 'partid' => $_partId, 'body' => $body, 'headers' => $headers, 'attachments' => $attachments, 'signature_info' => $signature));
         $message->parseHeaders($headers);
         $structure = array_key_exists('messageStructure', $structure) ? $structure['messageStructure'] : $structure;
         $message->parseStructure($structure);
         $message->parseSmime($message->structure);
     }
     $message->sendReadingConfirmation();
     return $message;
 }