Я видел много тем на эту тему, но ни одна из них не решила мою проблему.Пожалуйста, учтите, что я впервые использую IMAP, и мне кажется, что я что-то пропустил.Я хочу преобразовать почту, полученную в почтовом ящике, в «вид команды».Все работает, за исключением содержимого почты, закодированного в MIME (я так думаю), и я не знаю, как получить его на UTF-8.Пожалуйста, обратите внимание, что я француз, поэтому я использую такие символы как éèâçôì и т. Д. И т. Д. См. Мой код ниже:
if($imap = @imap_open($server , $username, $password)) {
$num = imap_num_msg($imap);
while($num > 0) {
$sujet = imap_mime_header_decode(cropSubject($headers->subject));
$time = $headers->udate;
$fromMail = $headers->from[0]->mailbox.'@'.$headers->from[0]->host;
$fromUser = $headers->from[0]->mailbox;
$fromHost = $headers->from[0]->host;
$content = nl2br(imap_fetchbody($imap, $num, '1'));
echo $content;
echo "<hr>";
}
}
На самом деле я просто хочу показать все полученные письма.Например, я получаю такие значения:
"Добрый день",
Проверка подлинности теста CR = C3 = Директива A9 по почте.
Cordialement. "
Вместо:
«Добрый день»,
Сессия по проверке почты.
Cordialement. "
Я виделмногие потоки, которые рекомендуют использовать как imap_fetchstructure (), так и imap_fetchbody (), но я не думаю, что это решит мою проблему.Использование imap_utf8 () не работает.
Я также пытался создать свою собственную функцию, преобразовывая эти вещи в правильные символы ... но я не думаю, что это хороший способ сделать это.
Есть идеи?
EDIT: quoted_printable_decode () отлично работает, за исключением того, что он обрезает длинные строки с "= \ r \ n", который я не могу обработать.Я видел взлом на PHP документации, но это не похоже на работу.Код ниже.
$content = str_replace("=\r\n", '', quoted_printable_decode($content));
echo $content;
Есть идеи, как мне это сделать?