Bichon:专为邮件归档与检索设计的开源工具

Bichon 是一个用 Rust 编写的开源电子邮件归档系统。它从 IMAP 服务器同步邮件,建立全文搜索索引,并通过 REST API 提供程序化访问能力。与常见的邮件客户端不同,Bichon 不处理邮件的发送或实时通信,而是专注于长期存储、高效检索和跨账户统一管理历史邮件

它以后台服务的形式运行,持续同步你配置的邮箱账户,并在本地维护一个可搜索的归档库。无需外部数据库或复杂依赖,Bichon 自带 WebUI,开箱即用。

Bichon:专为邮件归档与检索设计的开源工具插图

与邮件客户端的本质区别

功能传统邮件客户端Bichon
核心用途收发邮件、实时通信邮件归档、检索、长期管理
是否支持发信✅ 是❌ 否
运行模式桌面或移动端应用后台服务(服务器端)
数据存储方式本地缓存 + 服务器同步完整本地归档
搜索能力基础关键词匹配全文索引 + 多维度高级搜索
是否提供 API通常无完整 REST API + OpenAPI 文档
多账户支持有限支持跨账户统一搜索

简言之:如果你需要长期保存、随时回溯、批量分析邮件内容,Bichon 是更合适的选择;如果你要写邮件、回邮件、处理日程,仍需使用 Outlook、Thunderbird 或 Apple Mail 等客户端。

Bichon:专为邮件归档与检索设计的开源工具插图1

核心功能一览

  • 轻量独立
    单一 Rust 二进制文件,无外部依赖。内置 WebUI,启动即用。
  • 多账户同步
    可同时配置多个 IMAP 账户,按时间范围、邮件数量或指定邮箱灵活同步。
  • 安全认证
    支持 IMAP 密码和 OAuth2(如 Gmail、Outlook)。WebUI 内置 OAuth2 授权流程,自动刷新令牌,并支持网络代理与自动发现 IMAP 服务器。
  • 跨账户全文搜索
    支持按账户、发件人、收件人、主题、正文、附件名、邮件大小、日期等维度组合查询,结果跨所有归档账户聚合。
  • 标签与分面检索
    基于 Tantivy 的分面索引系统,支持为邮件打标签,实现高效过滤和分类浏览。
  • 高效存储
    采用透明压缩与内容去重技术,在节省磁盘空间的同时保持邮件可直接读取(无需解包)。
  • 灵活管理
    可批量删除本地归档、下载原始 EML 文件、单独提取附件,或在 WebUI 中查看完整邮件线程。
  • 数据看板
    可视化统计信息:邮件总量、时间分布、高频发件人、大附件邮件、各账户邮件量排名等。
  • 多语言界面
    WebUI 支持 17 种语言(包括中文),前端架构支持轻松扩展新语种。注:后端日志与 API 返回内容暂未国际化。
  • 程序化访问
    提供完整的 OpenAPI 文档,支持访问令牌认证,便于集成到自动化流程或自研系统中。
Bichon:专为邮件归档与检索设计的开源工具插图2

为什么开发 Bichon?

早在几个月前,开发者发布了 rustmailer —— 一个用于查询邮箱收件人信息的中间件。此后,不少用户希望它能支持邮件归档、全文搜索和跨账户管理。

但 rustmailer 的定位是轻量级邮件 API 中间件,不适合承载复杂的归档逻辑。我意识到,邮件归档其实只需要 rustmailer 的一部分功能,再加上一个搜索引擎

于是,我基于已有经验,在两周内完成了 Bichon 的核心架构,又用了两周进行测试和优化。现在,它已达到稳定可用状态,并以 MIT 协议开源。

Bichon 完全免费,无任何付费功能或限制。它可能还有不足,但如果你需要一个专注、可靠、可自托管的邮件归档方案,它值得尝试。

Bichon:专为邮件归档与检索设计的开源工具插图3
下载地址
夸克
密码:REVa

评论