Analisando o Corpo de E-mail com Codificação de Transferência de Conteúdo 7BIT - PHP

Eu tenho implementado algumas funcionalidades de manipulação de e-mail baseadas em PHP / IMAP ultimamente, e tenho quase tudo funcionando muito bem, exceto pela decodificação do corpo da mensagem (em algumas circunstâncias).

Eu acho que, a essa altura, já meio que memorizeiRFC 2822 (as diretrizes do documento 'Internet Message Format'), leiam o código de tratamento de e-mail para meia dúzia de CMSs de código-fonte aberto e leiam um fórum contendo posts, postagens de blogs, etc. lidando com manipulação de e-mail em PHP.

Eu também bifurquei e reescrevi completamente uma classe para PHP,Imape a classe lida bem com e-mails - eu tenho alguns métodos úteis para detectar autoresponders (para fora do escritório, endereços antigos, etc.), decodificar mensagens base64 e 8bit, etc.

No entanto, a única coisa que eu simplesmente não consigo trabalhar de forma confiável (ou, às vezes, em todos) é quando uma mensagem chega comContent-Transfer-Encoding: 7bit.

Parece que diferentes clientes de e-mail / serviços interpretam7BIT significar coisas diferentes. Eu recebi alguns e-mails supostamente7BIT que sãona realidade Base64 codificado. Eu tenho alguns que sãona realidade citado-imprimível-codificado. E alguns que não são codificados de forma alguma. E alguns que são HTML, mas não são indicados como HTML, e também são listados como7BIT...

Aqui estão alguns exemplos (recortes) de corpos de mensagens recebidos com codificações de 7 bits:

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=

Esses sãotodos enviado com codificações '7Bit' (bem, pelo menos de acordo com o PHP /imap_*), mas eles obviamente precisam de mais decodificação antes que eu possa passá-los como texto simples. Existe alguma maneira de converter de forma confiável todas as mensagens com codificações supostamente 7 bits para texto simples?

questionAnswers(3)

yourAnswerToTheQuestion