IMP_Contents::fullMessageText PHP Method

fullMessageText() public method

Returns the full message text.
public fullMessageText ( array $options = [] ) : mixed
$options array Additional options: - stream: (boolean) If true, return a stream for bodytext. DEFAULT: No
return mixed The full message text or a stream resource if 'stream' is true.
    public function fullMessageText($options = array())
    {
        if (!$this->_indices) {
            return $this->_message->toString();
        }
        $query = new Horde_Imap_Client_Fetch_Query();
        $query->bodyText(array('peek' => true));
        if ($res = $this->_fetchData($query)) {
            try {
                if (empty($options['stream'])) {
                    return $this->getHeader(self::HEADER_TEXT) . $res->getBodyText(0);
                }
                return Horde_Stream_Wrapper_Combine::getStream(array($this->getHeader(self::HEADER_STREAM), $res->getBodyText(0, true)));
            } catch (Horde_Exception $e) {
            }
        }
        return empty($options['stream']) ? '' : fopen('php://temp', 'r+');
    }

Usage Example

Example #1
0
 /**
  */
 public function saveMessage()
 {
     global $session;
     $session->close();
     $name = ($subject = $this->_contents->getHeader()->getValue('subject')) ? trim(preg_replace('/[^\\pL\\pN-+_. ]/u', '_', $subject), ' _') : 'saved_message';
     return array('data' => $this->_contents->fullMessageText(array('stream' => true)), 'name' => $name . '.eml', 'type' => 'message/rfc822');
 }
All Usage Examples Of IMP_Contents::fullMessageText