Ejemplo n.º 1
0
 /**
  * Cache content and split in parts if multipart
  *
  * @return null
  * @throws \Zend\Mail\Exception
  */
 protected function _cacheContent()
 {
     // caching content if we can't fetch parts
     if ($this->_content === null && $this->_mail) {
         $this->_content = $this->_mail->getRawContent($this->_messageNum);
     }
     if (!$this->isMultipart()) {
         return;
     }
     // split content in parts
     $boundary = $this->getHeaderField('content-type', 'boundary');
     if (!$boundary) {
         throw new Exception('no boundary found in content type to split message');
     }
     $parts = Mime\Decode::splitMessageStruct($this->_content, $boundary);
     if ($parts === null) {
         return;
     }
     $counter = 1;
     foreach ($parts as $part) {
         $this->_parts[$counter++] = new self(array('headers' => $part['header'], 'content' => $part['body']));
     }
 }