Outlook Helper 是一个 Windows 桌面工具,用于为本机 Outlook 邮件建立本地全文索引,并提供快速搜索、邮件预览和在 Outlook 中打开原始邮件的能力。
项目使用 WPF/.NET 8 构建,索引数据保存在本机 SQLite 数据库中。全量建库通过 Outlook/Extended MAPI 扫描当前 Outlook Profile 中已挂载的数据文件,后续同步通过 Outlook COM 接口读取增量变化。
- 本地邮件全文搜索:支持标题、正文、预览片段、发件人、收件人、抄送、附件名称等字段。
- 中文搜索优化:使用 Jieba 分词生成搜索索引,同时保留英文、邮箱地址、编号等 ASCII 词。
- 最新邮件列表:无关键字时按时间展示最新邮件,下拉继续加载。
- 日期筛选:可按开始日期、结束日期缩小搜索范围。
- 邮件详情预览:展示发件人、收件人、抄送、附件摘要、时间和正文。
- Outlook 定位打开:可在 Outlook 中打开选中的原始邮件,EntryID 失效时会尝试通过 Message-ID 回查。
- 全量建库与增量同步:首次扫描 OST/PST 生成索引,之后通过 Outlook 同步新增、修改和删除状态。
- 自动更新:启动时检查公开发布仓库的新版本,发现更新后可在标题栏执行下载、覆盖更新并自动重启。
- 托盘运行:最小化后隐藏到系统托盘,支持托盘菜单恢复或退出。
- 个性化设置:支持明亮、黑暗、跟随系统主题,支持开机自启和启动时自动拉起 Outlook。
- 单实例运行:重复启动时会激活已运行窗口。
- Windows 10/11。
- .NET 8 SDK,开发和构建时需要。
- Microsoft Outlook 桌面版,并且本机已配置可访问的邮箱数据。
- 当前 Outlook Profile 已挂载需要索引的 OST/PST 数据文件。
- Outlook 与本程序需要保持相同权限级别运行。不要一个以管理员权限运行、另一个以普通权限运行。
- 启动程序。
- 如果本地索引为空,程序会提示执行全量建库。
- 程序会通过 Outlook MAPI 读取当前 Profile 中已挂载的数据文件。
- 勾选需要重建索引的数据文件;如需限定范围,可进入文件夹选择。
- 如果未读取到数据文件,请先在 Outlook 中加载邮箱或 PST,再重新打开全量建库。
- 建库完成后,左侧会显示最新邮件,输入关键字后切换为全文搜索。
运行数据位于程序输出目录下的 Data 文件夹:
Data\mail-index.db:SQLite 邮件索引库。Data\Logs\app-YYYYMMDD.log:运行日志。Data\BuildTemp:全量建库临时目录。
- 全量建库依赖当前 Outlook Profile 中已挂载的数据文件,通常不需要关闭 Outlook。
- 全量建库、增量同步和打开邮件都依赖 Outlook/MAPI,程序与 Outlook 需要保持相同权限级别。
- 增量同步和打开邮件依赖 Outlook COM 接口,Outlook 未运行时,程序可按设置自动启动 Outlook。
- 如果 Outlook 数据文件很大,首次建库可能耗时较长。
- 同步问题文件夹和同步日志类邮件会被自动忽略。
- 程序会在可执行文件目录下写入
Data,发布目录需要当前用户具备写入权限。 - 自动更新会覆盖可执行文件目录中的程序文件,但不会删除
Data目录。 - 本项目将邮件内容索引保存在本机 SQLite 数据库中,请妥善保管发布目录和
Data目录。