资讯中心

一键打开MSG邮件文件:MsgViewer免费跨平台查看与转换工具

📅 2026/8/21 18:42:07
一键打开MSG邮件文件:MsgViewer免费跨平台查看与转换工具
一键打开MSG邮件文件MsgViewer免费跨平台查看与转换工具【免费下载链接】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同事用 Outlook 存了一封邮件发给你扩展名是 .msg。你双击它——Windows 上没装 Outlook 就什么都打不开换到 Mac 或 Linux情况更糟系统根本不知道该拿这个文件怎么办。这种只有 Outlook 才能读的文件在邮件归档、跨部门交接、系统迁移的场景里非常常见而解开它的最好办法之一就是MsgViewer一个纯 Java 编写的免费 MSG 文件查看器Windows、Linux、macOS 三个平台表现一致既能图形化打开邮件也能在命令行里做批量格式转换。一个 .msg 文件里到底装了什么.msg 不是普通的文本邮件文件它是 Outlook 用的复合文档格式邮件头、正文、收件人列表、附件都打包在同一个二进制文件里直接打开就是乱码。MsgViewer 的价值在于把这些内容拆给你看邮件正文HTML 和纯文本两种形式都能还原显示邮件头发件人、收件人、抄送、主题、发送时间一目了然附件逐个列出可以直接保存到你指定的目录嵌套邮件附件里再套 .msg 的情况也能递归解析出来MsgViewer 能帮你做的三件事1. 拖进去就能看邮件不需要记任何命令。启动图形界面后把 .msg、.eml 或 .mbox 文件直接拖进窗口正文就渲染出来了。一次拖进多个文件也没问题还支持拖入一个文件路径清单批量打开。界面里可以切换查看邮件的完整属性树导航视图逐字段检查原始数据想留底菜单里有另存为和打印功能。日常最顺手的工作流是邮件归档里翻出几个 .msg → 拖进窗口 → 看正文和附件 → 把附件另存为到本地。整个过程不依赖任何邮件客户端。2. 命令行批量互转三种格式GUI 适合看单封邮件批量处理则交给命令行。MsgViewer 的 CLIHelpMSGViewer.java 里定义了全部转换开关常用的有这几个# MSG 转 EML标准格式任何邮件客户端都能打开 java -jar msgviewer.jar -msg2eml mail.msg # EML 转 MSG java -jar msgviewer.jar -eml2msg mail.eml # MSG 转 MBOX多个邮件存进一个归档文件 java -jar msgviewer.jar -msg2mbox mail.msg再加两个可选参数就能省不少事-t把转换结果输出到系统临时目录-o转换完直接用系统关联程序打开。另外还支持-oft2eml把 Outlook 模板文件.oft也转成 .eml。需要留个心眼的是mbox 转 msg-mbox2msg官方标注为预发布状态稳定性不如其他方向正式归档场景建议以 msg 转 eml/mbox 为主。3. 用 Java API 在自己的程序里读邮件如果你的需求不是看而是处理——比如写脚本统计邮件、做数据迁移——项目里独立出的 msgparser 模块 提供了一组干净的 Java API。核心入口是 MsgParser.javaMsgParser parser new MsgParser(Paths.get(mail.msg)); Message message parser.parseMsg(); String subject message.getSubject(); ListAttachment files message.getAttachments();解析结果是一个结构化的 Message 对象发件人、收件人含 TO/CC/BCC 分类、正文、附件都能按字段取出来附件还能继续保存为文件。依赖它只需要引入 msgparser 这一个模块不用把整个 GUI 带进你的项目。三步跑起来项目基于 Maven 构建要求 JDK 17 以上git clone https://gitcode.com/gh_mirrors/ms/MsgViewer cd MsgViewer ./mvnw package构建产物是一个胖 jaruber-jar位于MSGViewer/target/msgviewer.jar之后运行就一句话java -jar MSGViewer/target/msgviewer.jar # 打开图形界面 java -jar MSGViewer/target/msgviewer.jar -h # 查看全部命令行参数macOS 用户如果不想自己编译osx-packager/目录下还提供了打包 .app 的脚本 package-app.sh跑完就能得到一个像原生应用一样的可执行程序。用之前值得知道的几个细节界面语言默认跟随系统语言也可以手动改。翻译文件放在~/.MSGViewer/translations/目录下按F11可在英文和当前显示语言之间快速切换按F12打开翻译编辑窗口改翻译不需要重新编译。无菜单只读模式加-hidemenubar参数启动后界面只剩看邮件这一个功能不能另存、不能打印适合放在公共终端这类不希望用户动文件的场合。大文件转换处理超过 10MB 的大邮件或批量任务时优先用命令行模式必要时给 JVM 加内存参数例如java -Xmx512m -jar msgviewer.jar -msg2eml bigmail.msg。命令行直接带文件启动 GUI 时把 .msg/.eml/.mbox 路径作为参数跟在后面窗口一出来就已经打开这些邮件了省掉手动选择。项目内部是怎么分工的代码分成三层各管一件事见 README.mdMSGViewer 模块MSGViewer/src/main/java/net/sourceforge/MSGViewer/图形界面、消息导航树、格式转换器Msg2Eml、Eml2Msg 等每个方向一个类msgparser 模块msgparser/src/main/java/com/auxilii/msgparser/底层的 .msg 二进制解析基于 Apache POI 读取复合文档结构FrameWorkMinimized 模块FrameWorkMinimized/通用界面框架提供配置管理、国际化、表格控件等基础设施这种分法的实际好处是你要做集成开发就只依赖 msgparser改界面行为去 MSGViewer 模块找入口互不干扰。从一封打不开的邮件开始下一次收到 .msg 附件不用再去装 Outlook。把项目克隆下来编译一次msgviewer.jar就常驻可用了——平时拖文件进去看需要归档时跑一条-msg2eml转换命令。先试着对你手头任意一封 .msg 跑一次java -jar MSGViewer/target/msgviewer.jar -msg2eml 你的文件.msg看看转换结果你就知道这个工具值不值得留在工具箱里了。【免费下载链接】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),仅供参考