我工作的公司为我们的客户提供批量邮件功能[双重选择加入,不是垃圾邮件,我保证],我们通过来自 AOL、康卡斯特、雅虎等的反馈循环获得了大量的报告。这些通常来自注册的人不再想要它,已经习惯于不点击“取消订阅”链接,[因为“这就是垃圾邮件发送者的方式”] 并且只是将所有邮件标记为垃圾邮件。
现在,这些 FBL 电子邮件遵循特定格式,其中消息是多部分的,有一个或两个文本部分,然后附加原始消息,通常会删除所有收件人信息。这个附上电子邮件也是多部分的,并且包含取消订阅链接,但附加电子邮件中链接出现的部分是quoted-printable 编码的,并且该链接比quoted-printable 在一行中所允许的要长,因此它会被删除。有时该部分似乎得到了 base64 编码,我认为如果客户使用像中文/日语/等这样的花哨语言,就会发生这种情况。
我需要的是一个可以给我这些部分的 mime/multipart 数据解析器。PHP没有实现任何形式的多部分解析器,我可以在它们可怕的 IMAP 函数的内部或处理多部分表单数据的 PHP 本身的内部之外找到任何形式的多部分解析器。
有没有人知道我可以用什么来解决这个问题,而不必自己写?我找到了一个脚本,但它依赖于旧的 PECL 功能,该功能依赖于 PHP 的自定义编译,这不是该服务器的选项。
TL;DR: PHP 的 imap_* 函数将解析从服务器接收到的部分消息,但我需要解析附加到从服务器下载的电子邮件的电子邮件部分。