情况: 系统通过标准方法 (Pop3) 从邮件服务器获取电子邮件,并将它们作为多部分消息(*.eml 文件)发送到存档组件。
如果邮件是从 Outlook 发送的,它可能包含 OLE 对象,例如 MS Word、MS Excel 等。有多种方法可以包含这样的对象,例如通过菜单“插入->对象”
问题: 我们现在的要求是提取这些 OLE 对象并将它们归档为单独的附件。最好用 Java 或其他 JVM 语言来完成。其他语言和框架也是可能的,但它们必须在不同的平台上运行(Win、Linux、Unix)
问题是我们还没有找到任何库或库中的函数来执行此操作。
第一个问题是,接收者收到的消息取决于 Outlook 的配置方式:
到目前为止我们已经尝试过: 我们尝试了 Apache POI,尤其是 POIFS 来加载文件“oledata.mso”,但它抱怨某些标头值错误:
Invalid header signature; read 0xD7EC9C7800013000, expected 0xE11AB1A1E011CFD0 - Your file appears not to be a valid OLE2 document
我们发现一个网站谈论同样的问题。据我们了解,oledata.mso 是Compound File Binary Files 的集合。它也应该可以单独使用 POI 进行解析,因为 OpenMCDF 正在做与 POI 相同的事情。 在这个网站上,他们以某种方式分离各个部分并分别解析它们。但我们还没有找到类似的功能或任何具体如何完成此操作的规范。
有人可以解释一下吗?
我目前面临使用 poi 工具来解析“.eml”格式的文件。这个问题你是怎么解决的?