FOLD
原生电子邮件客户端macOS · iOS · iPadOS

原生打造,从容扩展。安全,深植核心。

FOLD 是一款原生电子邮件客户端,为认真对待收件箱的人而打造:工程师、研究人员、记者、系统管理员。自研 IMAP 引擎,内置 S/MIME 和 OpenPGP,没有遥测。安全是设计的约束条件,而不是最后的润色。

规模
50 万
单个邮箱中的邮件数,索引搜索用时 58 ms

1FoldBench 5 次取中位数 2026-09-22

测试
3,044
覆盖引擎和界面的自动化测试

2统计 @Test 和 XCTest 2026-09-22

依赖
0
引擎和界面中的第三方包,共 103,000 行 Swift 代码

3Package.swift 依赖项 2026-09-22

标准
95
源代码中引用的 RFC

4在源码树中 grep RFC 2026-09-23

折角标记:该说法附有来源,标注在单元格底部。 全部来源

macOS 上 FOLD 主视图的示意预览,共三栏:邮箱、邮件列表、邮件详情。
主视图 · macOS 示意预览 · 正式截图将随发布提供

目前已可用

TestFlight · macOS 和 iOS · 截至 2026-09
  • 所有账户,一个收件箱
    统一收件箱
  • 增量同步与推送
    CONDSTORE QRESYNC IDLE
  • 可撤销的发送
    0 至 30 s 发件箱
  • 加密邮件
    S/MIME OpenPGP
  • 在设备上验证发件人
    DKIM DMARC BIMI
  • Fortress 模式
    按账户 Argon2id
  • 四种界面语言
    英语 德语 日语 阿拉伯语
  • 规则作用于每封新邮件
    以搜索语法编写过滤条件
实测,而非承诺

50 万封邮件。实测计时。

存储引擎的基准测试,基于一个包含 50 万封邮件的合成邮箱。

58 ms
在 50 万封邮件中全文搜索
0.7 ms
从 SQLite 读取 50 封邮件的邮件头
9 ms
打开存储,获得首个索引快照
67 s
导入 50 万封邮件

FoldBench,Release 构建,Apple M1 Ultra,macOS 27,五次运行取中位数。以上均为存储引擎的计时。App 冷启动、帧时间和内存占用在下方列为预算,目前尚未测量。

5FoldBench M1 Ultra Release 构建 2026-09-22

为何选择 FOLD

邮件是工具, 不是广告渠道。

许多邮件客户端让你的邮件途经厂商的云端,把半个互联网拉进来当作依赖,还把满屏横幅称作生产力。FOLD 反其道而行:更少的代码,更小的攻击面,更少的假设。

01

按需呈现

回复时先只显示“收件人”栏。抄送和密送在你需要时才出现。屏幕上的每样东西,都要配得上它的位置。

02

键盘优先

在 Mac 上,⌘K 可直达撰写、回复、移动,以及每个文件夹和每个账户。搜索支持 from:、is:unread、before:6m 和 /regex/ 等运算符。

03

来源,由你查验

FOLD 在你的设备上验证 DKIM 签名,并按 DMARC 与发件人对齐。你看到的是邮件是否真的来自它所声称的域名,而不是服务器对它的说法。

RFC 6376 8463 7489

04

始终可搜索的归档

跨所有账户离线搜索,按主题、发件人和收件人查找。对话依据 Message-ID 和 References 归并,跨账户、跨年份依然完整。

JWZ 对话归并 SQLite FTS5

界面一览 示意预览

FOLD 的界面布局。

四幅示意视图,依据当前运行的构建版本绘制。正式截图将随发布提供。

FOLD 主视图的示意预览,包含邮箱、邮件列表和邮件详情三栏。
01 · Mac 和 iPad

三栏布局

邮箱、邮件列表、邮件详情。在 Mac 上为键盘和触控板而设计;在 iPad 上,借助系统的分栏视图呈现同样的三栏。

FOLD 命令面板的示意预览,附搜索运算符提示。
02 · 键盘

命令面板

用 ⌘K 撰写、回复、移动、切换账户,或跳转到任意文件夹。from:、is:unread 和 /regex/ 等搜索运算符可直接在输入框中使用。

FOLD 邮件头检查器的示意预览,显示协议行和认证结果。
03 · 审查

邮件头与安全检查器

原始邮件头,以及每个 DKIM 签名的域名、选择器和算法。在 Mac 上,活动窗口会显示同步步骤和 SMTP 会话记录,仅保存在内存中。

FOLD 对话视图的示意预览,显示层叠的对话历史。
04 · 对话归并

对话视图

依据 References 和 In-Reply-To,用 JWZ 算法构建对话,跨账户按 Message-ID 去重,以层叠的历史记录阅读。在设置中用一个开关即可启用。

账户设置与引擎

自研引擎,Swift 编写。

IMAP 和 SMTP 用 Swift 编写,基于 Apple 的 Foundation 流。中间没有 C 邮件库,没有桥接层,也没有 SDK。

账户设置

输入地址即可

FOLD 同时查询四个来源:自身缓存、11 个内置服务商配置、DNS SRV 记录,以及你的域名自己的 autoconfig 文件。FOLD 不查询 Mozilla 的中央数据库,因此你的域名只在你和你的服务商之间。在你添加账户之前,不会连接任何邮件服务器。

登录

在关键处使用 OAuth

Google 通过 OAuth 2 与 PKCE 在系统浏览器中登录:App 中不含客户端密钥,令牌会自动续期。Microsoft 登录已做好准备,正在等待其客户端注册;在此之前,可使用 App 专用密码。

账户

别名,回复无误

支持多个账户,每个账户可有多个别名,各自拥有自己的名称和签名。回复会从原邮件所发往的地址发出。

同步

只同步变化

首次同步后,FOLD 会记住服务器的 HIGHESTMODSEQ,此后只获取新邮件、变更的标记和删除操作。不支持该扩展的服务器则进行干净的完整同步。

RFC 7162 CONDSTORE QRESYNC

推送

通过 IDLE 实时推送

新邮件由服务器主动通知;FOLD 每 25 分钟续订一次会话。不支持 IDLE 的服务器则采用轮询。

RFC 2177

并发

为规模而设计

每个连接和每个存储层都是独立的 Swift actor。一个同步引擎服务所有账户,每个账户四个连接,其中一个始终留给你当前的操作。

发布 TestFlight · macOS 和 iOS · 截至 2026-09

现已在 TestFlight 中运行。

首个公开版本即将推出:Mac 版将以经过签名和公证的直接下载形式在本网站提供。

下载 FOLD
纵深防御

五层防护。没有一层孤立存在。

每一层都有各自的职责和各自的测试。一层失守,下一层依然坚守。

我们安全文档中的四条原则
  • 安全在先,而非最后。
  • 可审计性优于便利性。
  • 纵深防御。
  • 最小攻击面。
  1. L1

    TLS

    严格校验证书和主机名,不可绕过。强制使用 STARTTLS:如果升级失败,或在升级前就收到数据,连接会被断开。拒绝未加密的 IMAP 和 SMTP。

  2. L2

    认证

    在服务商支持的情况下使用 OAuth 2 与 PKCE。在 SMTP 上,SCRAM-SHA-256 优先于 CRAM-MD5 和 PLAIN,且 PLAIN 绝不在 TLS 之外使用。

  3. L3

    沙盒

    App Sandbox 与 Hardened Runtime。授权项:出站网络、你选择的文件、一个钥匙串组,以及用于可选同步的 iCloud 容器。不绕过库验证。

  4. L4

    钥匙串

    密码和令牌保存在钥匙串中,与这台设备绑定,仅在设备解锁时可用。默认不同步任何内容;通过 iCloud 钥匙串同步密码需要单独选择启用。

  5. L5

    渲染

    HTML 邮件中的 JavaScript 处于关闭状态。远程内容需经你允许才会加载,点击链接时会先显示其真实目标,存储的附件带有隔离标记。MIME 解析器对嵌套深度、部件数量和邮件头大小设有硬性上限。

可选 · 按账户

Fortress 模式

在 FileVault 之上再加一层加密。Argon2id(64 MiB,3 轮)把你的密码短语转换为一把只存在于内存中的 256 位密钥。每个账户获得各自的 HKDF 子密钥,AES-256-GCM 加密封存邮件头数据库和邮件缓存。闲置一段时间后,保险库会锁定,密钥随即被清除。

6Argon2id RFC 9106 测试向量

经过检验,而非空口声称:S/MIME 和 OpenPGP 可与真实的 GnuPG 和 OpenSSL 互操作,DKIM 与 RFC 8463 测试向量逐字节一致,回归测试套件会重放历史上的邮件客户端 CVE,五个模糊测试目标为各解析器加固。

加密

S/MIME 和 OpenPGP。两者均已内置。

在 Mac 和 iPhone 上签名、加密和解密,并已对照真实的 GnuPG 和 OpenSSL 检验。

S/MIME

证书:收集并校验

导入你的 .p12 身份和收件人证书,或让 FOLD 从已签名的邮件中收集。如果一个有效签名的证书与发件人不符,该签名会被标记为不受信任。以上功能在 iPhone 上同样可用;不过在 iPhone 上,收件人证书来自已签名的邮件,手动导入随后推出。

7openssl 测试样本 RFC 5652

OpenPGP

现代核心,旧算法受控

Ed25519 签名、Curve25519 加密密钥和 AES-256,始终带有完整性校验,以防范 EFAIL。你的通信对象的 RSA 密钥仍可继续使用。CAST5、IDEA、Blowfish、3DES、MD5 和 SHA-1 签名一律拒绝。

8gpg 测试样本 RFC 9580

密钥

生成或导入

在 FOLD 中创建 Ed25519 和 Curve25519 密钥,或导入你的 GnuPG 密钥环。私钥受密码短语保护,存放在与本设备绑定的钥匙串保险库中。

撰写时

边输入,边可见

输入时,收件人标签即会显示谁能接收加密邮件。签名和加密只是两个开关,仅此而已。

发件人真实性

在你的设备上验证。

FOLD 自行重新计算 DKIM:正文哈希、DNS 密钥、规范化、签名。服务器给出的 Authentication-Results 邮件头不会被直接采信。

DKIM

在你的设备上计算

Ed25519 逐字节对照 RFC 8463 参考向量,RSA 对照一封用 openssl 签名的测试邮件。短于 1024 位的密钥会被拒绝。DNS 查询在邮件正文加载时进行。

9RFC 8463 测试向量 RSA 对照 openssl

DMARC

与发件人对齐

FOLD 将自己的 DKIM 结果和服务器邮件头中的 SPF 结果,与可见的发件人地址进行对齐。只有经过这种对齐,签名才成为证明。

RFC 7489

提示方式

一切正常,便不打扰

一切验证通过时,你什么也不会看到。出现缺失或疑似伪造时,会以低调的方式标出,检查器会列出每个签名的域名、选择器和算法。对邮件列表的提示会有所减弱,好让提示保有分量。

BIMI

品牌标志,经过验证

只有当 DMARC 在强制策略下通过,且标志证书能追溯到某个内置的 BIMI 根证书时,发件人的标志才会显示。标志取自证书本身,并在绘制前经过净化处理。

BIMI VMC 内置根证书

技术栈与性能

Apple 框架。Swift 6。自研引擎。

一款原生 App,建立在操作系统本身已提供的能力之上。没有跨平台层,也没有伪装成 App 的网页视图。

技术栈

语言
Swift 6 语言模式,严格并发检查,ExistentialAny。
界面
SwiftUI 优先。仅在 SwiftUI 力有不逮之处使用 AppKit 和 UIKit。
网络
基于 Foundation 流的自研 IMAPSMTP 引擎,在已建立的连接上执行 STARTTLS。不使用 C 库。
存储
SQLite,不使用 ORM:邮件头存储(WAL)、按内容寻址的邮件缓存、全文索引(FTS5)。
密码学
CryptoKitSecurityCommonCrypto。Apple 未提供的原语由 FOLD 自行实现,并对照参考向量检验:Argon2id、BLAKE2b、AES-OCB。
并发
55 个 Swift actor。每个连接和每个存储层都相互隔离。
依赖
引擎和界面:仅使用 Apple 系统框架。直接下载版的更新程序(Sparkle)只存在于 App 外壳中。

性能预算

设计目标
冷启动
≤ 300 ms
从点按到列表首行可见
滚动帧时间
≤ 8 ms
硬性上限 16 ms,在 50 万封邮件时同样适用
搜索
≤ 50 / 200 ms
邮件头 / 全文
内存
80 / 150 / 250 MB
iPhone / iPad / Mac 工作集

设计目标取自性能规范。目前已实测的数据见上文。

完整性

每封邮件的正文都以其哈希寻址

邮件缓存以 SHA-256 作为每份正文的存储地址。相同内容在磁盘上只存一份;正文一旦在事后被改动,加载时就会立即校验失败。此外,FOLD 会检查每封获取到的邮件的大小和 MIME 结构是否完整,遇到不完整的邮件会提示重新载入,而不会把它当作完整邮件呈现。

SHA-256 每次加载时校验

标准

FOLD 实现了哪些 RFC,哪些尚未实现

衡量邮件客户端所依据的每一项标准,附上它在代码中的状态,以及每处缺口的原因。

全部标准
已实现
58
部分实现
8
尚未实现
10
有意不实现
6
常见问题

问题简短,回答也简短。

我可以试用 FOLD 吗?

很快就可以。Mac 版的首个公开版本即将以经过签名的直接下载形式发布;iPhone 和 iPad 版随后通过 App Store 提供。你可以在下载页面留下邮箱地址,版本发布时我们会通知你一次。

支持哪些平台?

macOS 13 Ventura 及更高版本,iOS 和 iPadOS 18 及更高版本。两个 App 共用同一个引擎,目前都在 TestFlight 中运行。Mac 版在少数功能上领先:拖放、智能文件夹编辑器、VIP 发件人和配额显示。

FOLD 支持哪些语言?

界面提供英语、德语、日语和阿拉伯语版本,适用于 Mac、iPhone 和 iPad。在 iPhone 和 iPad 上,你可以在 App 内选择语言,不受系统语言影响。

为什么不用第三方库?

因为每一个依赖都是攻击面。CryptoKit、Security、SQLite 和 Foundation 已涵盖引擎所需的一切。只要能读懂 Swift,就能读懂全部代码,也没有人需要信任别人的构建产物。唯一的例外是直接下载版的更新程序。

OpenPGP 和 S/MIME 的情况如何?

S/MIME 支持 .p12 身份和收件人证书,使用 RSA 和 AES;S/MIME 4.0 所规定的 AES-GCM 尚不支持。OpenPGP 采用 Ed25519 签名、Curve25519 加密和带完整性校验的 AES-256,并为现有密钥保留 RSA,已对照真实的 gpg 检验;第 6 版密钥尚不支持。存在缺陷的路径在设计上即被排除:MD5、SHA-1 签名、CAST5、IDEA、3DES,以及任何没有完整性校验的内容。

FOLD 是开源的吗?

不是。代码为专有代码,由 Datargo GmbH 发布。它靠测试而非信任来证明自己:超过 3,000 项自动化测试,与 Dovecot、gpg 和 openssl 的互操作性检验,以及 2026 年 6 月的一次内部对抗性审计(65 项发现,无一严重,均已纳入跟踪)。公开发布前已安排一次外部渗透测试。

FOLD 将如何定价?

定价尚未最终确定。但有两点已经确定:安全功能永远不会成为付费附加项,也不会采用广告模式。

我的数据会怎样?

数据保留在你的设备上。FOLD 会与以下对象通信:你的邮件服务器;DNS;设置账户时你的域名的 autoconfig 文件;用于 OAuth 登录的 Google;以及在 DMARC 通过后,为获取 BIMI 标志而访问发件人的证书主机。iCloud 同步需要你主动选择启用。没有遥测,没有崩溃报告程序。

下载

邮件,认真以待。
在 Mac、iPhone 和 iPad 上。

Mac 版 FOLD 以经过签名和公证的直接下载形式在本网站提供。iPhone 和 iPad 版目前在 TestFlight 中运行,将通过 App Store 发布。

前往下载