[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: IMAP кодировка заголовков
kap
Помогите, необходимо посмотреть письма в ящике
Пробую так
<?php

$mbox = imap_open("{imap.yandex.ru/imap:143}INBOX", "login", "password");

echo "<h1>Заголовки входящих сообщений</h1>\n";
$headers = imap_headers($mbox);

if ($headers == false) {
echo "Call failed<br />\n";
} else {
foreach ($headers as $val) {
echo $val . "<br />\n";
}
}


imap_close($mbox);
?>


Заголовки выводятся в таком виде:

154)13-Jun-2014 =?utf-8?b?U21hcnRQcm =?utf-8?b?0JjQvdGC0LXRgNC (30569 chars)
155)14-Jun-2014 service@paypal.com =?UTF-8?B?0JrQstC40YLQsNC (25568 chars)
156)17-Jun-2014 =?UTF-8?B?0J/RgNC+0Y =?UTF-8?B?0JDQvdC00YDQtdC (124553 chars)

Вместо русских символов кракозябра, что надо сделать, чтобы заголовки нормальными были ?
Спасибо
sergeiss
С ИМАП не работал, а насчет читаемости... Могу только предположить, что у тебя какие-то проблемы с кодировками. Судя по заголовкам, что ты показываешь, там UTF-8. А на странице какая кодировка?

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
kap
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

Кодировка самого файла utf-8 без BOM (эт на всякий случай)
killer8080
imap_mime_header_decode
kap
не помогает, такая же фигня получается
killer8080
kap
там на крайняк можно и регулярками с колбеком декодировать
=?UTF-8?B?0JDQvdC00YDQtdC
=?UTF-8 - кодировкка utf-8
?B? - base64
0JDQvdC00YDQtdC - строка закодированная в base64
kap
есть строчки с ?Q?
это что значит?
killer8080
Quoted_printable
SerginhoLD
mb_decode_mimeheader

154)13-Jun-2014 =?utf-8?b?U21hcnRQcm =?utf-8?b?0JjQvdGC0LXRgNC (30569 chars)
154)13-Jun-2014 SmartPr Тест выгрузки Интер Тест выгрузки (30569 chars)


_____________
"internet explorer всех правильней отображает страницы" ©
kap
Цитата (SerginhoLD @ 24.06.2014 - 13:24)
<pre class="sh_sourceCode" rel="code">mb_decode_mimeheader

154)13-Jun-2014 =?utf-8?b?U21hcnRQcm =?utf-8?b?0JjQvdGC0LXRgNC (30569 chars)
154)13-Jun-2014 SmartPr Тест выгрузки Интер Тест выгрузки (30569 chars)</pre>

Тоже не получается
для примера
$test_title = "U 173)24-Jun-2014 ForumHouse =?UTF-8?B?0J/QsNGA0L3Ri9C (62826 chars)";
$test_title = mb_decode_mimeheader($test_title);
echo "$test_title";

возвращает ответ
U 173)24-Jun-2014 ForumHouse ???????o6??Z?? 

и еще такой вопрос, в почте яндекса данное сообщение видно как
ForumHouse  Парные бывают разные… Но правильная банька – только одна!

но если декодировать последнюю часть исходного кода, то получится в конце только слово "Парн" и больше ничего
killer8080
в начале нужно задать кодировку для mb_
mb_internal_encoding("UTF-8");

а вообще действительно, какие то битые у тебя заголовки.
kap
да странная фигня, вроде задача не сложная и должно быть часто встречающаяся, а нормального решения в инете не найти...
Заголовки деру стандартно с почты яндекс, сейчас попробую с гугла стянуть
kap
С кодировкой разобрался, но заголовки писем дергаю не из списка писем в ящике, и из header каждого письма (там заголовки не кастрированы)
killer8080
kap
проблема только с яндексом была?
kap
нет, везде такая фигня, все заголовки разные, но это и понятно, отсылаются с разных клиентов и разными способами. Бывает тема сообщения закодирована целиком, а бывает, как-то разбита на 2 части и каждая часть отдельно закодирована
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.