Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Определение кодировку body при работе с imap
Форумы портала PHP.SU » PHP » Программирование на PHP » Определение кодировку body при работе с imap

Страниц (1): [1]
 

1. mucha - 24 Июля, 2010 - 20:32:33 - перейти к сообщению
Доброго времени суток. Если подобная тема уже обсуждалась - прошу сильно не пинать, а дать линк Улыбка

Решил написать своеобразного бота для обработки входящих писем в почтовом ящике.

Задача:
Скрипт коннектится к почтовому ящику через imap протокол, читает список сообщений и заносит полученный результат в базу.

Столкнулся со следующей проблемой:
Различные почтовики или почтовые клиенты присылают письма в разной кодировке. И если subject письма удается перевести в utf-8 ( с помощью функции iconv_mime_decode ), то с body проблема.

Нашел самописную функцию, которая определяет кодировку ( 'cp1251', 'utf-8', 'ascii', '855', 'KOI8R', 'ISO-IR-111', 'CP866', 'KOI8U' ) и казалось бы проблема должно быть решена, но тут возникла другая:
Письма из веб интерфейса gmail приходят закодированные в base64

Подскажите, как определить, закодировано ли body в base64 или нет?

З.Ы> буковки в названии темы напутал, если модераторы будут проходить мимо - поправьте пожалуйста ))

 

Powered by ExBB FM 1.0 RC1