1

我有一条要解码的多部分消息(见下文)。

我可以使用 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_--
4

2 回答 2

1

有一个名为mailparse的 PHP 模块可以为您完成繁重的工作。

最重要的是,查看这个包装器,它可以更容易地访问库的功能。

我们在mailparser.io的堆栈中使用 php 模块,它的工作非常可靠。

于 2015-07-07T10:14:45.173 回答
0

我发现这个库可以满足我的大部分需求(我做了一些小的定制)。

https://github.com/CaTzil/emailParser

于 2015-02-19T06:34:18.913 回答