java - 用 Java 获取 MSG Outlook 文件的原始内容(字符串格式)
问题描述
我正在尝试在 Java 应用程序中读取 .MSG Outlook 文件的原始内容。
我尝试使用 Apache POI HSMF,它可以很好地提取一些字段,但我需要获取确切的原始文件内容。据我所知,Apache POI 没有提供这样的功能。
另一方面,如果我试图打开 .MSG 文件(我认为是二进制格式),我无法将其写入字符串格式。
您知道我如何读取此类 msg 文件并将其内容复制到 String 中吗?
解决方案
Apache POI HSMF 包括您在评论中请求的提取正文、标题和附件所需的工具。事实上,HSMF 测试应用程序org.apache.poi.hsmf.extractor.OutlookTextExtractor为您提供 To、From、Subject 和 Body。它甚至包括通过标题和附件的代码,您只需修改它以显示完整的标题并将附件内容写入新文件。
要运行它,请下载以下 jar 文件:
- poi-scratchpad-4.1.2.jar
- poi-4.1.2.jar
- commons-math3-3.6.1.jar
并通过(在 Windows 上)运行
java -cp "poi-scratchpad-4.1.2.jar;poi-4.1.2.jar;commons-math3-3.6.1.jar" org.apache.poi.hsmf.extractor.OutlookTextExtractor msg-file
在 Linux 上,将类路径中的路径分隔符更改为“;”</p>
推荐阅读
- reactjs - React Native setState 闪烁
- python - 如何使用python将现有日期更改为url中的当前日期
- html - 调整弹性项目的大小以适应父项
- sql - 返回按客户 ID 分组的日期计数
- flutter - 如何更新 Flutter 中的 ValueListenableBuilder 值?
- python - 为什么我的请求中有 http 405 错误,我该如何使用 api?
- azure - Azure 存储资源管理器因访问控制列表而失败
- python - 如何根据第一个列表的索引重新排序第二个列表?
- c - 为什么使用 !strcmp 而不是 strcmp?
- pandas - read_csv zip 文件 > 不支持该压缩方法 [pandas]