如何从PHP中的各种电子邮件源获取XML / TXT附件?

时间:2015-05-08 19:17:25

标签: php email smtp attachment mime

获得SMTP / MIME文本后,很难说解析/处理来自各种随机SMTP / MIME程序的电子邮件有多复杂。

对于此问题的特定姿势,获取标题信息完全无关紧要。只需要附件。

¿有没有针对此的防弹解决方案?

谢谢

1 个答案:

答案 0 :(得分:1)

您需要一个MIME解析器来处理MIME数据。在PHP中,Mailparse扩展名可以为您执行此操作。它是一个相当基础的库,所以像php-mime-mail-parser这样的包装器可以大大简化事情。在任何情况下,假设Mailparse,该过程的基本大纲如下:加载/解析电子邮件,然后启用满足以下条件的所有部分和子部分:

  • 该部分的Content-Disposition标题为attachment
  • filename标题的已解码Content-Dispositon参数以文字.xml.txt结尾。或者,您可以依靠Content-Type标头进行类型检测(分别为text/XMLtext/plain),但这样做的可靠性会降低,因为它取决于电子邮件发件人找到的权限附加文档的MIME类型。

找到附件部分后,可以使用PHP提供的BASE64函数或引用可打印解码从MIME表示中解码它们。