CodeExplorer SMimePart example
if (preg_match('/(\r\n\r\n|\n\n)/',
$headers,
$match)) { $headersPosEnd =
strpos($headers,
$headerBodySeparator =
$match[0
]);
break;
} } $headers =
$this->
getMessageHeaders(trim(substr($headers, 0,
$headersPosEnd)));
fseek($stream,
$headersPosEnd + \
strlen($headerBodySeparator));
return new SMimePart($this->
getStreamIterator($stream),
$type,
$subtype,
$this->
getParametersFromHeader($headers['content-type'
]));
} protected function getStreamIterator($stream): iterable
{ while (!
feof($stream)) { yield str_replace("\n", "\r\n",
str_replace("\r\n", "\n",
fread($stream, 16372
)));
} } private function getMessageHeaders(string
$headerData): array
{ if (preg_match('/(\r\n\r\n|\n\n)/',
$headers,
$match)) { $headersPosEnd =
strpos($headers,
$headerBodySeparator =
$match[0
]);
break;
} } $headers =
$this->
getMessageHeaders(trim(substr($headers, 0,
$headersPosEnd)));
fseek($stream,
$headersPosEnd + \
strlen($headerBodySeparator));
return new SMimePart($this->
getStreamIterator($stream),
$type,
$subtype,
$this->
getParametersFromHeader($headers['content-type'
]));
} protected function getStreamIterator($stream): iterable
{ while (!
feof($stream)) { yield str_replace("\n", "\r\n",
str_replace("\r\n", "\n",
fread($stream, 16372
)));
} } private function getMessageHeaders(string
$headerData): array
{