
访问地址
特点
- 完全开源!!!,可以自己看源码、改源码、自己打包。
- 本地优先!!!,不需要把邮件先交给第三方云服务。
- 用 SQLite轻量管理!!!!账号、邮件头、正文、附件元数据、搜索索引和设置。
- 支持 SQL 导入导出!!!,换机器、备份、恢复都走同一套迁移逻辑。
- 默认拦截 HTML 邮件里的远程图片和外部资源,先安全预览,需要时再加载完整内容。
它不准备做成大而全的办公套件。
OneMail 主要解决一个问题:多个邮箱分散在不同服务商里,网页端来回切很烦;传统客户端又经常把同步、缓存、远程图片和附件处理做成黑盒。我要的是开源、本地优先、多邮箱聚合、IMAP 同步、SQLite 管理。
多邮箱收进一个桌面窗口
现在很多人的邮箱不是一个。
工作可能在 Outlook,个人可能在 Gmail,国内服务还会挂 QQ 邮箱、163 邮箱,项目里再来几个自定义域名 IMAP。每个邮箱都有自己的网页入口、授权方式、未读状态和附件入口。
OneMail 目前内置支持 Gmail、Outlook、163 邮箱、QQ 邮箱和自定义 IMAP。添加账号之后,左侧是账号列表、未读数和同步状态,中间是邮件列表,右侧是阅读区。

统一收件箱也在里面。邮件先拉到同一个桌面视图,再按账号、未读、有附件、星标、今日这些条件过滤。
项目通知、账单、验证码、服务商告警混在一起的时候,先聚合,再筛选,比开一排浏览器标签页舒服得多。
SQLite 管理一切
OneMail 用 Electron + React + TypeScript 写界面和桌面壳,邮件通过 IMAP 同步到本地 SQLite。
账号、邮件头、正文、附件元数据、搜索索引和设置都落在本机数据库里。数据库文件在 Electron 的 userData/OneMail/onemail.sqlite 下面。
这跟很多"云端邮箱管理工具"的思路不一样。OneMail 不需要先把你的邮件搬到另一个第三方服务里再展示。它只是一个本地工作台:连接邮箱服务商,同步需要的数据,后续阅读和筛选尽量在本机完成。
本地优先不等于邮箱服务商不保存邮件,也不等于 IMAP 授权没有风险。它解决的是另一层问题:不要再额外引入一个中间云服务来接管邮件数据。
密码和授权码也不会明文塞进数据库。OneMail 会用本地数据库密钥派生 AES-256-GCM 密钥,加密后再保存凭据。附件默认只保存元数据,只有点击下载时才写入本地文件。
HTML 邮件默认安全预览
很多 HTML 邮件会塞远程图片,甚至是 1x1 的追踪像素。客户端只要自动加载图片,就会向对方服务器发一次 HTTP 请求。对方可以记录打开时间、IP、User-Agent,甚至把请求参数绑定到具体收件人。
所以 OneMail 的阅读区默认走安全预览。
HTML 邮件会先做基础净化,远程图片和外部资源默认拦截。需要看完整内容时,再手动点击加载完整内容。

营销邮件、通知邮件、活动邮件经常会用远程资源统计打开行为。很多时候用户只是想看正文,没必要在打开邮件的一瞬间就把访问请求打出去。
先看安全版本,需要图片再加载。
写信窗口
OneMail 现在已经有写信、回复、回复全部、转发、抄送、密送、富文本格式、附件和草稿保存。
写信窗口贴近 Gmail:浮层窗口,顶部可以展开或还原,收件人行可以按需展开抄送和密送,底部有发送、格式栏、附件、链接、保存草稿和丢弃草稿。
邮件写作大多数时候就几件事:选对发件账号,填收件人,补正文,必要时挂附件,然后发出去。窗口别挡路,草稿别丢,就够了。
SQL 导入导出
很多桌面工具用着还行,迁移的时候很痛苦。
OneMail 直接支持 SQL 备份导入导出。设置里可以把当前数据库导出成 SQL 文件。首次启动没有账号时,也可以直接导入已有备份。
备份文件会校验文件名里的密钥、Linux 时间戳和 SQL 头部信息,避免随便拿一个不明 SQL 就往库里灌。

不用额外维护同步服务,也不需要为了迁移上云账号。数据库就是一个本地 SQLite,导出、保存、换机器导入,路径清楚,边界也清楚。
现在能做什么
这一版 OneMail 已经能覆盖我自己日常使用里的核心链路:
- 添加 Gmail、Outlook、QQ、163 和自定义 IMAP 邮箱。
- 多账号聚合查看,账号栏展示未读数和同步状态。
- 支持未读、有附件、星标、今日等快速筛选。
- 点击未读邮件后自动标记已读,并同步到远端邮箱。
- 邮件正文按需加载,减少启动和同步成本。
- HTML 邮件安全预览,默认阻止远程图片和外部资源。
- 附件以表格展示元数据,点击后选择路径下载。
- 支持写信、回复、回复全部、转发、抄送、密送、附件和草稿。
- 邮箱凭据使用 AES-256-GCM 加密后保存到本地数据库。
- 支持 SQL 备份导出和首次启动导入。
- 支持同步间隔、缓存窗口和外部图片策略配置。
如果你要的是团队协作、日历、会议、企业通讯录,那 OneMail 现在不是这个方向。
它更适合这种场景:你有多个邮箱,想在桌面上统一收一下;你在意远程图片和邮件隐私;你希望邮件缓存和备份都在自己机器上;你不想为了一个邮箱客户端再引入一个云端中转服务。
怎么添加邮箱
OneMail 走的是 IMAP / SMTP 这套传统邮件协议。
添加 Gmail、Outlook、QQ、163 这类邮箱时,通常需要先在服务商后台打开 IMAP,再按服务商要求生成应用密码或授权码。不要把所有邮箱都理解成"直接填登录密码就行",现在很多邮箱已经不允许第三方客户端这么登录。
如果你不确定怎么填,可以先看这篇:常见个人邮箱添加指南:Gmail、QQ、网易、Outlook 等邮箱怎么配置
填好账号后,OneMail 会测试连接,保存成功后开始同步收件箱。后面可以在账号栏手动同步单个账号,也可以同步全部账号。
项目地址
项目地址:zhihui-hu/one-mail
技术栈是 Electron 39、React 19、TypeScript 5.9、Tailwind CSS 4、shadcn/ui 和 SQLite。开发模式跑 Electron + Vite,桌面打包走 electron-builder,Windows、macOS、Linux 都留了构建脚本。
如果你刚好也在多个邮箱之间来回切,或者想要一个更偏本地优先的桌面邮件客户端,可以试一下 OneMail。
这个项目后面我会继续按自己的使用场景补。能保持本地、清楚、可迁移的部分,我尽量不加重。