已实现功能 — 原生 JMAP 邮件 + 日历功能
Boogie是一款集成日历的原生邮件客户端,专为Stalwart等JMAP服务器构建。以下是完整的功能实现:
✉ 邮件功能
- 撰写、发送、回复、转发
- 全文搜索和排序
- 拖放式附件管理
- HTML邮件渲染 (WKWebView)
- 多账户支持(自动发现)
- 签名管理
- 离线变更队列
- 41 种语言——覆盖全球 63% 的人口
- 通过签名DMGs实现Sparkle自动更新
- Siri快捷指令(4个App Intents)
📅 日历功能
- 日视图、周视图和月视图
- 支持完整CRUD的事件编辑器
- 与Stalwart进行JMAP Calendar同步
- JSCalendar格式 (RFC 8984)
- 集成在同一应用中
- 非CalDAV — 纯JMAP
⚙ 基础设施与架构
- Apple Development证书代码签名
- 零外部依赖
- 隐私优先 — 无遥测、无追踪
为什么选择 Boogie
自托管邮件的原生 Apple Mail 替代方案
对于运行 Stalwart 或其他 JMAP 服务器的用户,Boogie 是真正能使用您服务器协议的原生 macOS Apple Mail 替代方案。Apple Mail 通过 IMAP 和 SMTP 连接——无法访问 JMAP 日历、推送通知或批量同步。Boogie 原生连接到您的自托管 JMAP 服务器,无需变通方案、无需适配器、无需云中继。
什么是 JMAP?
JMAP(JSON Mail Access Protocol)是在 RFC 8620 中定义的开放互联网标准,通过用无状态的、基于 JSON 的 API 取代 IMAP 来实现电子邮件的现代化。单个 JMAP 请求可以批量处理多个操作——获取邮件、同步日历事件、推送实时通知——通过持久的 WebSocket 连接,使其比任何 IMAP 实现都更快、更高效。
JMAP 与 IMAP — 关键区别
- ♦协议设计:IMAP 是 1986 年的有状态、基于文本的协议。JMAP 是 2019 年标准化的无状态 JSON API(RFC 8620),能将多个邮件操作批量处理为单个 HTTP 请求。
- ♦日历支持:IMAP 只处理电子邮件;日历需要单独的 CalDAV 连接。JMAP 在同一协议中包含日历和联系人同步(RFC 8984),完全消除了对 CalDAV 的需求。
- ♦性能:IMAP 在单独的往返中获取消息元数据和正文。JMAP 在一个批量请求中获取所有需要的内容,在高延迟连接上大幅降低延迟。
- ♦推送通知:IMAP 依赖轮询或 IDLE——一种在移动设备上消耗电池的保活连接。JMAP 通过 WebSocket 提供实时更新,意味着新邮件无需轮询即可即时显示。
- ♦移动效率:IMAP 在移动设备出现之前设计,带宽消耗大。JMAP 的 JSON 批处理和增量同步仅传输已更改的状态,在蜂窝连接上效率显著更高。
JMAP 邮件客户端对比 — Boogie 与所有替代方案
我们调查了目前所有可用的JMAP邮件客户端。Boogie是唯一内置日历支持的原生macOS JMAP客户端。以下是各客户端的对比情况:
| 客户端 | 平台 | 原生 | JMAP Calendar | 状态 |
|---|---|---|---|---|
| Boogie | macOS (iOS next) | ✓ | ✓ | 已发布 |
| Fastmail App | All platforms | Electron | ✓ | 仅限 Fastmail (Electron) |
| Swift Mail | macOS | ✓ | ✗ | 仅限Fastmail |
| Mailtemi | iOS / Android | ✓ | ✗ | 日历功能计划中 |
| Parula | Win / Mac / Linux | Electron | WIP | 开发中 |
| Twake Mail | iOS / Android / Web | Flutter | ✗ | 仅邮件 |
| Ltt.rs | Android | ✓ | ✗ | 概念验证 |
| OpenCloud | Web | Web | WIP | 计划于2026年 |
Fastmail 的桌面应用是其网页客户端的 Electron 封装,而非原生应用。其 JMAP 日历 API 不向第三方客户端开放。
路线图 — 已发布 37 个版本,iOS 和 Android 扩展在即
| 阶段 | 内容 | 工作量 | 状态 |
|---|---|---|---|
| v1.x | 单账户邮件+日历、分发、代码签名 | — | ✓ 已完成 |
| v2.x | 多账户、Swift 6、HTML清理器、签名UX | — | ✓ 已完成 |
| v3.x | 迁移、智能同步、i18n、本地化 | — | ✓ 已完成 |
| 下一步 | iOS & iPadOS(共享代码) | — | 下一步 |
| 计划中 | watchOS伴侣应用 | — | 计划中 |
| 评估中 | 通过Skip转译器支持Android | — | 评估中 |
开放标准 — JMAP、自托管邮件、无厂商锁定
Boogie使用JMAP(JSON Mail Access Protocol)——这是驱动自托管和隐私优先邮件的现代JSON格式IMAP继任协议。没有专有协议,没有云端中间人。您的邮件服务器,您的数据,您的客户端。
专为以下服务器构建: Stalwart Mail Server——目前最完整的JMAP实现。Stalwart Mail Server支持邮件、日历、联系人和文件的JMAP,而Boogie是让这些自托管邮件功能变得易用且友好的原生桌面客户端。
JMAP协议支持包括Fastmail、Migadu、Cyrus及其他服务器。只要您的邮件服务器支持JMAP,Boogie就能连接。
您的数据留在您的服务器上
Boogie 不收集遥测数据,不发送分析数据,不通过任何云中介路由流量。您的电子邮件、日历事件和凭据存储在您的 Mac 本地或您自己的 JMAP 服务器上——永远不在我们的服务器上。应用通过本地 数据库完全离线运行,仅在您选择连接时才与服务器同步。无需账户。不收集数据。没有例外。
全球语言支持 — 41 种语言,包括 RTL 和 CJK
Boogie 网站提供41种语言,应用内支持41种语言,包括RTL阿拉伯语、CJK脚本和天城文。在原生JMAP桌面客户端中,没有其他应用能达到如此深度的本地化。
| 客户端 | 网站 | 应用 | RTL | 备注 |
|---|---|---|---|---|
| Boogie | 41 | 41 | ✓ | 6种文字体系,约45亿使用者 |
| Twake Mail | 2 | 6* | ✗ | 仅6种达90%以上,48种中27种零翻译 |
| Ltt.rs | 1 | 13 | ✗ | 社区翻译,仅Android |
| Fastmail | 1 | 36 | ? | 仅Web界面,非独立应用 |
| Swift Mail | 1 | 1 | ✗ | 仅英语 |
| Parula | 1 | 1 | ✗ | 仅英语 |
| Mailtemi | 1 | 1–2 | ✗ | 仅英语 |
* Twake Mail在Weblate上列出48种语言,但实际翻译完成90%以上的仅6种,27种零翻译。
应用语言 (41)
English, Japanese, Simplified Chinese, Traditional Chinese, French, Spanish, Brazilian Portuguese, Italian, Romanian, Greek, German, Korean, Arabic (RTL), Hindi, Turkish, Dutch, Polish, Thai, Russian, Ukrainian, Vietnamese, Indonesian, Swedish, Afrikaans.
每种语言约~13,500个已翻译字符串。
网站语言 (41)
网站语言 — English, Japanese, Simplified Chinese, Traditional Chinese, French, Spanish, Brazilian Portuguese, Italian, Romanian, Greek, German, Korean, Arabic (RTL), Hindi, Turkish, Dutch, Polish, Thai, Russian, Ukrainian, Vietnamese, Indonesian, Swedish, Afrikaans.
网站本地化在用户下载前以其母语提供引导。
为什么语言支持很重要
常见问题
什么是 JMAP?
JMAP(JSON Mail Access Protocol)是一种在 RFC 8620 中定义的现代开放电子邮件标准,用于取代老旧的 IMAP 协议。它通过 HTTPS 使用高效的 JSON,支持通过 WebSocket 进行实时推送,并在单一统一的 API 中处理电子邮件、日历和联系人——使其比 IMAP 显著更快且更节省带宽。
什么是 Stalwart Mail Server?
Stalwart Mail Server 是一个用 Rust 编写的开源自托管邮件服务器,实现了目前最完整的 JMAP 规范,包括对邮件、日历、联系人和文件存储的支持。它专为注重隐私的个人和组织设计,使他们能够完全控制自己的电子邮件基础设施,而无需依赖第三方云服务提供商。
Boogie 能与 Fastmail 配合使用吗?
可以。Boogie 可连接任何实现 JMAP 标准的服务器,包括 Fastmail、Migadu 和 Cyrus——不仅限于 Stalwart。JMAP 会话发现自动处理,您只需提供服务器 URL 和凭据即可开始使用。
Boogie 与 Apple Mail 相比如何?
Apple Mail 使用 IMAP 和 SMTP——这些是 1980 年代和 1990 年代的协议。Boogie 专门使用 JMAP,为您提供通过 WebSocket 的实时推送通知、无需 CalDAV 的集成日历同步,以及为自托管服务器而非云服务提供商构建的架构。对于运行 Stalwart 或其他 JMAP 服务器的用户,Boogie 提供了 Apple Mail 无法提供的功能。
Boogie 会登陆 iOS 吗?
iOS 和 iPadOS 支持是 macOS 之后的下一个计划平台。由于 Boogie 的代码库已经以跨平台 Swift 编写,移植预计大约需要 5 到 7 小时的实现工作。watchOS 配套应用和通过 Skip 转译器的 Android 支持也在路线图中。
Boogie 支持离线邮件吗?
支持。Boogie 维护您电子邮件的本地 local()数据库,并在连接不可用时将外发更改——撰写、发送、删除、移动——排入队列。连接恢复后,更改会立即与您的 JMAP 服务器同步,为您提供可靠的离线体验,不会丢失数据。
Boogie 的系统要求是什么?
Boogie 需要 macOS 14 Sonoma 或更高版本以及 Apple Silicon(M1 或更新)。该应用使用 Apple Development 证书进行代码签名,并经过公证以兼容 Gatekeeper。无需安装额外的运行时、框架或依赖——应用完全自包含。
为什么 Boogie 使用 JMAP 而不是 IMAP?
IMAP 于 1986 年为缓慢、间歇性的连接而设计,已积累了数十年的扩展和变通方案。JMAP 是一种无状态的、基于 JSON 的协议,能在单个请求中批量处理多个操作,通过 WebSocket 提供实时更新,并在一个 API 中同时处理日历和电子邮件。对于从头构建的原生 macOS 客户端,JMAP 是正确的基础——而非为现代用途改装的遗留协议。