2015-02-18 2 views
1

У меня есть многочастное сообщение, которое я хотел бы декодировать (см. Ниже).Разбирайте многостраничные электронные письма, закодированные в base64 utf8, используя PHP

Я могу использовать функцию PHP base64_decode для декодирования обычных электронных писем, но она не будет работать для многочастных электронных писем.

Кто-нибудь знает, как это сделать или знать о доступных сценариях?

--_000_FBA91459E616EF4B8C1CCF54B389A283030E5EMX105CL01corpemcc_ 
    Content-Type: text/plain; charset="utf-8" 
    Content-Transfer-Encoding: base64 

    SGVsbG8sIEkgY2Fu4oCZdCBzZWVtIHRvIGdldCB0aGUgbGluayB0byB3b3JrIGFmZmVjdGl2ZWx5 
    IHRvIGVudGVyIGluIHRoZSBuYW1lcyBvZiBwZW9wbGUgdG8gc2VuZCB0aGUgc3VydmV5IHRvb+KA 
    pml0IHdvbuKAmXQgbGV0IG1lIGVudGVyIHRoZSBuYW1lcy4gQmUgZ3JlYXQgaWYgeW91IGNvdWxk 
    IGhlbHAgb3Igc2hvdWxkIEkganVzdCB3YWl0IGEgbGl0dGxlIHdoaWxlIHRvIGdhaW4gdGhlIGFj 
    Y2Vzcz8NCg0KUmVnYXJkcw0... etc 

    --_000_FBA91459E616EF4B8C1CCF54B389A283030E5EMX105CL01corpemcc_ 
    Content-Type: text/html; charset="utf-8" 
    Content-Transfer-Encoding: base64 

    PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy 
    bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt 
    YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj 
    cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv 
    VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh... etc 
--_000_FBA91459E616EF4B8C1CCF54B389A283030E5EMX105CL01corpemcc_-- 

ответ

0

Я нашел эту библиотеку, которая делает большую часть того, что я хочу (я сделал несколько небольших настроек).

https://github.com/CaTzil/emailParser

1

Существует PHP-модуль, который называется mailparse, который может делать тяжелую работу за вас.

Кроме того, проверьте this wrapper, что облегчит доступ к функциям библиотеки.

Мы используем модуль php в нашем стеке mailparser.io, и он работает очень надежно.