private function getRawHeaders(string $pid = null) : string
{
if (null === $pid) {
return imap_fetchheader($this->connection, $this->uid, FT_UID);
}
$rawHeaders = imap_fetchbody($this->connection, $this->uid, $pid, FT_UID);
$headersEnd = false !== strpos($rawHeaders, "\n\n") ? strpos($rawHeaders, "\n\n") : strpos($rawHeaders, "\n\r\n");
if ($headersEnd === false) {
return '';
}
return substr($rawHeaders, 0, $headersEnd);
}