Это старый вопрос, но недавно я столкнулся с этой проблемой при разборе писем.
При печати информации заголовка с использованием функции imap_header_info был показан следующий массив:
stdClass Object
(
[subject] => =?Windows-1252?Q?field_name_-_need___`at_risk=92____into_t?= =?Windows-1252?Q?he_label_(_some_content_to_)_?=
)
Тем не менее, исходной темой было « имя поля - есть риск на этикетке (часть содержимого) »
Чтобы устранить эту проблему, функция imap_mime_header_decode
должен использоваться в цикле для создания правильного текста:
$header = imap_headerinfo($email_obj, $email_ref_number, 0);
$elements = imap_mime_header_decode($header->subject);
$email_subject = '';
if ( ! empty($elements)) {
foreach ($elements AS $e_part) {
if (isset($e_part->text)) {
$email_subject .= $e_part->text;
}
}
}
echo $email_subject;