Разбор электронных писем, состоящих из нескольких частей, закодированных в 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_--
2 ответа
Есть PHP-модуль под названием mailparse, который может сделать тяжелую работу за вас.
Кроме того, посмотрите на эту оболочку, которая облегчит доступ к функциям библиотеки.
Мы используем модуль php в нашем стеке на http://mailparser.io/, и он работает очень надежно.
Я нашел эту библиотеку, которая делает большую часть того, что я хочу (я сделал несколько небольших настроек).