/** * Get all headers * * The returned headers are as saved internally. All names are lowercased. The value is a string or an array * if a header with the same name occurs more than once. * * @return array headers as array(name => value) */ public function getHeaders() { if ($this->_headers === null) { if (!$this->_mail) { $this->_headers = array(); } else { $part = $this->_mail->getRawHeader($this->_messageNum); $body = null; // "Declare" variable since it's passed by reference Mime\Decode::splitMessage($part, $this->_headers, $body); } } return $this->_headers; }
/** * Special handling for hasTop and hasUniqueid. The headers of the first message is * retrieved if Top wasn't needed/tried yet. * * @see \Zend\Mail\Storage\Abstract::__get() * @param string $var * @return string * @throws \Zend\Mail\Storage\Exception */ public function __get($var) { $result = parent::__get($var); if ($result !== null) { return $result; } if (strtolower($var) == 'hastop') { if ($this->_protocol->hasTop === null) { // need to make a real call, because not all server are honest in their capas try { $this->_protocol->top(1, 0, false); } catch (Mail\Exception $e) { // ignoring error } } $this->_has['top'] = $this->_protocol->hasTop; return $this->_protocol->hasTop; } if (strtolower($var) == 'hasuniqueid') { $id = null; try { $id = $this->_protocol->uniqueid(1); } catch (Mail\Exception $e) { // ignoring error } $this->_has['uniqueid'] = $id ? true : false; return $this->_has['uniqueid']; } return $result; }