尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

MsgViewer 完全指南:纯 Java 跨平台查看 MSG 邮件文件,不依赖 Outlook

MsgViewer 完全指南:纯 Java 跨平台查看 MSG 邮件文件,不依赖 Outlook MsgViewer 完全指南纯 Java 跨平台查看 MSG 邮件文件不依赖 Outlook【免费下载链接】MsgViewerMsgViewer is email-viewer utility for .msg e-mail messages, implemented in pure Java. MsgViewer works on Windows/Linux/Mac Platforms. Also provides a java api to read mail messges (msg files) programmatically.项目地址: https://gitcode.com/gh_mirrors/ms/MsgViewerMsgViewer 是一个用纯 Java 写的 MSG 邮件查看器把 Outlook 专属的 .msg 文件变成任何系统都能打开的普通邮件。它运行在 Windows、Linux 和 macOS 上既能看正文和附件也能做格式转换还附带一个可供 Java 程序调用的解析 API。它是什么不是什么它是查看器不是邮箱。定位就三件事打开 MSG 文件看内容、在 MSG / EML / MBOX 之间转换、提供 Java 解析接口。它不负责收发邮件也不会改你的邮箱账户。和装个 Outlook 再打开这类方案相比它不依赖微软环境一个 jar 包就全部装完。3 分钟跑起来从源码到能用的 jar先说前提装一个 JDK 17 或更高版本这是唯一依赖。克隆仓库并打包。Maven Wrapper 会自己下载依赖不需要你预装 Mavengit clone https://gitcode.com/gh_mirrors/ms/MsgViewer cd MsgViewer ./mvnw package构建产物是一个 uber-jar依赖全部打在里面位于MSGViewer/target目录。启动图形界面cd MSGViewer/target java -jar msgviewer.jar命令行帮助随时可查java -jar msgviewer.jar -h。它能替你做的三件事拖进来就能看正文、附件、收件人一览打开窗口把 .msg 文件拖进去就行走菜单打开文件也一样。正文默认按 RTF 视图渲染想直接看纯文本用参数-starttextview启动。一次拖多个文件、拖一个写满文件路径的清单文件、拖一段选区都能批量打开不用逐个点。批量转格式一条命令的事命令行模式支持四种转换全部直接内联在终端跑java -jar msgviewer.jar -msg2eml 邮件.msg转成 EMLjava -jar msgviewer.jar -msg2mbox 邮件.msg转成 MBOXjava -jar msgviewer.jar -eml2msg 邮件.eml反向转回 MSG这个方向是新版加的能力加-t参数转换结果直接落到系统临时目录对一堆文件写一行 shell 循环即可不需要自己写解析代码。把它当 Java 解析库用如果你在做 Java 程序仓库里的 msgparser 模块可以直接引入两行拿到邮件数据Message message new MsgParser(Path.of(mail.msg)).parseMsg(); message.getSubject(); message.getRecipients(); message.getAttachments();谁会在什么时候用它Mac 上的设计师小赵收到客户从 Outlook 导出的合同邮件 .msg 文件。她拖进 MsgViewer正文、附件列表全在附件另存即用全程没碰 Outlook。运维老周接了个归档任务三万封历史邮件散落在服务器目录里。他写了一条for循环批量跑-msg2eml第二天整个目录就从 MSG 变成了 EML能直接进邮件搜索服务器索引。开发者阿凯在写内部审计工具需要从 MSG 文件里程序化提取发件人和附件名。他没自己解析二进制格式直接引了 msgparser 模块parseMsg()之后所有字段都是现成对象。一个值得拆开看的细节MSG 文件其实是套娃很多人以为 .msg 是字段: 值的文本流其实不是。MSG 沿用了 OLE2 复合文档格式——和老式 .doc 同一套容器文件内部是一棵目录树发件人、每个收件人、每个附件各自占一个独立条目。所以 MsgViewer 的解析入口在 MsgParser靠 Apache POI 把这棵树打开POIFSFileSystem fs new POIFSFileSystem(stream); // 把 OLE2 容器当目录树打开 DocumentEntry propertiesEntry (DocumentEntry) dir.getEntry(PROPERTIES_ENTRY); int recipientCount propertyStream.readInt(); // 先读出收件人数量 // 再按序号逐个取出 __recip_version1.0_#00000000 这类子目录翻译成人话界面上你看到的收件人: 张三在文件里是一条子目录解析器把它读出来、填进去。横向对比维度MsgViewerWindows Outlook其他在线转换服务平台覆盖Win / Linux / macOS仅 Windows看服务商费用免费开源需购买授权多有额度限制上手门槛装 JDK跑一个 jar安装 Outlook配置账户注册、上传功能查看、转换、Java API完整邮件客户端仅单文件转换数据位置全在本地本地需上传到对方服务器在 Windows 上本来就有 Outlook不必换文件敏感、不想上传到任何在线服务或者需要 Linux / macOS 环境就选它。踩过的坑和实用技巧 只装 JRE 不够编译运行都要 JDK 17 起java -version先确认一下。⚠️ 可执行的 jar 不在仓库根目录在MSGViewer/target下新手最常在这里找错路径。F11在英文和当前显示语言间切换F12打开翻译对话框界面语言默认跟随系统。⚠️-mbox2msg方向官方标注为预_alpha 状态可能永远不会稳定用它之前先看 CLIHelp 里的说明。 转换完想直接查看结果加-o参数会用系统关联程序自动打开转换后的文件。收尾回到最开始的问题MSG 文件在非 Windows 机器上基本等于废纸MsgViewer 把它变成了能看、能转、能解析的普通邮件数据。下一步很具体——克隆仓库./mvnw package之后挑一封 MSG 跑一次-msg2eml看到 .eml 文件生成的那一刻你就知道它值不值得留在你的工具箱里。几个高频问题不联网能用吗可以所有解析和转换都在本地完成。会修改原始 MSG 文件吗不会转换生成的是新文件。支持哪些转换方向MSG 到 EML / MBOXEML 到 MSGOFT 到 EML。【免费下载链接】MsgViewerMsgViewer is email-viewer utility for .msg e-mail messages, implemented in pure Java. MsgViewer works on Windows/Linux/Mac Platforms. Also provides a java api to read mail messges (msg files) programmatically.项目地址: https://gitcode.com/gh_mirrors/ms/MsgViewer创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表