Разбор сообщения электронной почты с помощью 7BIT Content-Transfer-Encoding - PHP

В последнее время мы реализовали некоторые функции обработки электронной почты на основе PHP / IMAP, и у большинства из них все отлично работает, за исключением декодирования тела сообщения (в некоторых случаях).

Я думаю, что сейчас язапомнилсяRFC 2822 (Формат интернет-сообщения ' руководящие принципы), прочитайте код обработки электронной почты для полдюжины CMS с открытым исходным кодом, прочитайте сообщения на форумах, в блогах и т. д., касающиеся обработки электронной почты в PHP.I '

мы также создали и полностью переписали класс для PHP,Imapи класс хорошо обрабатывает электронную почту -У меня есть несколько полезных методов для обнаружения автоответчиков (для отсутствия на работе, старых адресов и т. Д.), Декодирования сообщений base64 и 8 бит и т. Д.

Тем не менее, одна вещь, которую я просто могуНадежная работа (или, иногда, вообще) - это когда приходит сообщение.Content-Transfer-Encoding: 7bit

Кажется, что разные почтовые клиенты / сервисы интерпретируют7BIT означать разные вещи. Я'я получил несколько писем, которые предположительно7BIT которыена самом деле Кодировка Base64. Я'мы получили такие, которыена самом деле кавычко для печати кодируемых. И некоторые, которые не закодированы каким-либо образом вообще. И некоторые, которые являются HTML, но неуказано как HTML, и они 'также в списке7BIT...

Вот несколько примеров (фрагментов) тел сообщений, полученных с 7-битной кодировкой:

1:

A random message=20

Sent from my iPhone

2:

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwi
IHhtbG5zOm89InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9m

3:

tangerine apricot pepper.=0A=C2=A0=0ALet me know if you have any availabili=
ty over the next month or so. =0A=C2=A0=0AThank you,=0ANames Withheld=0A908=
-319-5916=0A=C2=A0=0A=C2=A0=0A=C2=A0=0A=0A=0A______________________________=
__=0AFrom: Names Witheld =0ATo: Names Withheld=

Этовсе отправлено с '7Bit» кодировки (ну, по крайней мере, в соответствии с PHP /imap_*), но они'Очевидно, что мне нужно больше расшифровки, прежде чем я смогу передать их в виде открытого текста. Есть ли способ надежно преобразовать все сообщения с якобы 7-битной кодировкой в открытый текст?

Ответы на вопрос(3)

Ваш ответ на вопрос