🔥 BRAVE 質押池已上線 — 在錢包搜尋 BRAVE 即可委託

Stalwart:现代化的全栈邮件与协作服务器

    • #32846

      Stalwart 是一款专为现代互联网需求设计的开源邮件与协作服务器,采用 Rust 语言编写,以其极致的高性能、安全性和”全栈一体化”架构在 2026 年的自托管社区中占据领先地位。该项目由 Stalwart Labs 维护,经过四年的持续开发,现已宣布功能完备(feature complete),正在为里程碑式的 1.0 版本发布做最后准备。

      Stalwart 的设计理念体现在一句非官方座右铭中:”Aut Rust aut nihil”(要么 Rust,要么什么都没有)。这种对技术纯粹性的坚持,使其成为替代传统 Postfix/Dovecot 复杂组合的首选方案。


      🔧 核心特性详解

      📨 1. 全协议支持与 JMAP 领先

      除了传统的 IMAP、SMTP 和 POP3,Stalwart 完整支持 JMAP 协议。JMAP 相比传统协议同步更快、能耗更低,是现代移动端和 Web 邮件应用的理想选择。

      🔍 深入理解 JMAP 协议优势:

      JMAP(JSON Meta Application Protocol)是由 Fastmail 开发、于 2019 年被 IETF 标准化(RFC 8620 & RFC 8621)的现代邮件协议。相比 IMAP,JMAP 在以下方面具有显著优势:

      特性对比IMAPJMAP
      数据格式自定义文本协议JSON over HTTP
      连接模式需要持久化 TCP 连接无状态 HTTP 请求
      批量操作每个操作需单独请求单次请求可包含多个操作
      实时推送需要 IDLE 扩展轮询原生 Push 通知支持
      移动端优化资源消耗大、耗电低功耗、适合间歇连接
      开发友好度需要自定义解析器标准 JSON,全语言支持
      安全机制多种历史扩展HTTPS/WSS + OAuth 2.0/OIDC

      📱 为什么 JMAP 对移动设备至关重要?

      传统 IMAP 协议设计于互联网早期,假设用户拥有稳定的持续连接。然而,现代移动设备面临的是间歇性网络环境——WiFi 切换、蜂窝网络波动等。IMAP 的 IDLE 扩展需要维持持续的 TCP 连接来接收新邮件通知,这在移动端会导致:

      • 电池快速消耗
      • 网络切换时的同步中断
      • 需要频繁重建连接状态

      JMAP 的无状态设计完美契合现代推送通知架构,客户端可以:

      • 在收到推送后按需发起请求
      • 单次请求完成多项操作(如标记已读、归档、删除)
      • 无需维护持久连接,大幅降低能耗

      📊 2025 年 JMAP 生态现状:

      目前支持 JMAP 的主要服务和客户端包括:

      • Fastmail(JMAP 协议的发明者,生产环境运行)
      • Cyrus IMAP(JMAP 支持)
      • Apache James(支持 JMAP 邮件和提交)
      • Stalwart Mail Server(以 JMAP 为核心构建)
      • Thunderbird(iOS 版已支持,桌面版正在推进)

      🗓️ 2. 不仅是邮件,更是协作中心

      到 2026 年,Stalwart 已不再仅仅是一个邮件服务器。它原生集成了 CalDAV(日历)、CardDAV(联系人)和 WebDAV(文件存储)支持,提供了一套完整的开源协作解决方案。

      🏆 JMAP 协作协议全球首发:

      经过四年开发,Stalwart 成为全球首个完整支持整个 JMAP 协作协议家族的服务器,包括:

      协议传统方案JMAP 替代方案Stalwart 支持状态
      日历同步CalDAVJMAP for Calendars✅ 完整支持
      联系人同步CardDAVJMAP for Contacts✅ 完整支持
      文件存储WebDAVJMAP for File Storage✅ 完整支持
      权限共享WebDAV ACLJMAP Sharing✅ 完整支持

      💡 协作功能亮点:

      • 📅 组日历与共享日历:支持多用户协作管理日程,适合团队和家庭使用
      • 📒 共享通讯录:团队成员可共享联系人信息
      • 📁 共享文件夹:支持用户、群组和共享文件空间,具备细粒度权限控制
      • 🔐 灵活的权限管理:同时支持 JMAP Sharing 扩展和 WebDAV ACL,兼容各类 CalDAV/CardDAV 客户端
      • 🌍 CalDAV 调度支持:v0.13.x 版本新增了加泰罗尼亚语等多语言支持

      🤖 3. AI 驱动的安全防御

      Stalwart Enterprise 版本引入了 AI 垃圾邮件分类和高级钓鱼检测功能,支持集成 OpenAI 或 Anthropic 等大模型,为企业通讯提供智能防护。

      🔬 LLM 分类器技术细节:

      Stalwart v0.10.3 起引入的 AI 模型支持是企业版的核心功能之一(同时对 GitHub 和 OpenCollective 赞助者开放)。该功能具有以下特点:

      🔗 支持的 AI 提供商:

      • OpenAI(GPT 系列模型)
      • Anthropic(Claude 系列模型)
      • 任何提供 OpenAI 兼容 API 的服务
      • 自托管大模型(如 Llama、Mistral 等)

      📋 邮件分类工作流程:

      LLM 分类器通过向 AI 模型发送可自定义的提示词(Prompt)以及邮件的主题和正文来工作。默认提示词会指导 AI 将邮件分为四类:

      1. 🚫 Unsolicited(未经请求的垃圾邮件)
      2. 📢 Commercial(商业推广邮件)
      3. ⚠️ Harmful(有害/钓鱼邮件)
      4. ✅ Legitimate(正常邮件)

      ⚙️ Sieve 脚本集成:

      Stalwart 扩展了 Sieve 脚本语言,引入了 llm_prompt 函数,允许管理员和用户直接在邮件处理规则中调用 AI 模型进行分析。这为实现复杂的智能邮件处理流程提供了极大的灵活性。

      💰 成本考量:

      对于使用 OpenAI 或 Anthropic 云服务的用户,主要考量从性能转向了成本——这些提供商通常按处理的 Token 数量收费。由于每封邮件都需要传递给 AI 模型进行分析,邮件长度直接影响每次请求的 Token 消耗。建议企业根据邮件流量合理规划预算,或考虑部署自托管模型以降低长期成本。


      🛡️ 4. 极致安全性与 Rust 驱动

      利用 Rust 的内存安全特性,Stalwart 彻底告别了 C 语言时代常见的缓冲区溢出漏洞。它内置了 DMARC、DKIM、SPF 和 ARC 验证,并支持自动配置安全默认值。

      📜 安全审计历史与透明度:

      Stalwart 已通过两次独立安全审计,展现了其对安全性的严肃承诺:

      🔍 第一次审计(2023 年 10 月):

      • 审计结果:未发现任何漏洞或不安全代码
      • 审计结论确认了 Stalwart 作为安全可靠的开源邮件服务器的地位

      🔍 第二次审计(2025 年 9 月 9 日至 25 日):

      • 审计版本:v0.13.2
      • 审计机构:Radically Open Security(专业开源安全审计机构)
      • 资金来源:NLNet 基金会资助

      ⚠️ 发现的漏洞及响应:

      CVE 编号严重程度描述修复时间
      CVE-2025-59045高危CalDAV REPORT 请求导致的内存耗尽 DoS4 小时内
      CVE-2025-61600高危相关 DoS 漏洞4 小时内

      ✅ 两个高危漏洞均在披露后 4 小时内修复,补丁随 v0.13.3 和 v0.13.4 版本发布。这种快速响应能力体现了 Stalwart 团队对安全问题的高度重视。

      📝 审计总结:

      最终报告赞扬 Stalwart 的代码库”健壮、架构良好、模块清晰划分”,Rust 语言确保了内存安全,整体设计体现了”攻击者意识”的安全原则。

      🔐 内置安全机制一览:

      安全机制用途说明
      DMARC基于域名的邮件认证、报告和一致性
      DKIM域名密钥识别邮件签名
      SPF发件人策略框架验证
      ARC认证接收链(支持邮件转发场景)
      DANE基于 DNS 的命名实体认证
      MTA-STSMTA 严格传输安全
      SMTP TLS 报告TLS 连接状态报告机制

      ☁️ 5. 云原生与无缝扩展

      Stalwart 支持从单机 SQLite 部署无缝扩展至支持数百万用户的分布式集群,后端可对接 PostgreSQL、FoundationDB 或 S3 兼容的对象存储。

      🏗️ 模块化存储架构详解:

      Stalwart 采用模块化存储架构,将不同类型的数据分离到四个独立的存储层,每个组件可根据规模和需求独立优化:

      存储层用途推荐后端
      Data Store用户设置、文件夹层级、邮件元数据、标记、访问控制FoundationDB / PostgreSQL
      Blob Store邮件正文、附件、日历数据等大对象S3 兼容存储
      In-Memory Store速率限制、会话跟踪、投递状态、节点协调Redis
      Full-text Search邮件内容索引和关键词搜索Elasticsearch / Meilisearch

      📊 按规模选择后端策略:

      🏠 小型部署(个人/家庭/小团队):

      • 数据库:SQLite(零配置,开箱即用)
      • 存储:本地文件系统
      • 特点:单一二进制文件,极简部署

      🏢 中型部署(中小企业):

      • 数据库:PostgreSQL 或 MySQL
      • 存储:本地或 S3 兼容存储
      • 全文搜索:数据库内置功能(v0.12+ 改进)
      • 特点:利用 PostgreSQL/MySQL 的内置全文搜索,降低架构复杂度

      🏭 大型分布式部署(企业级):

      • 数据库:FoundationDB(推荐)
      • 对象存储:S3 兼容服务
      • 缓存层:Redis
      • 全文搜索:Elasticsearch 或 Meilisearch
      • 特点:支持多节点集群、自动分片、多区域部署、数千节点水平扩展

      🔄 集群协调机制(v0.12 新增):

      Stalwart v0.12 引入了可适配的集群行为:

      • 小型部署:使用 Eclipse Zenoh(轻量级点对点 pub/sub 协议)
      • 大型基础设施:可选择 Apache Kafka、Redpanda、NATS 或 Redis 进行节点间协调、状态同步和负载分发

      🐳 容器编排支持:

      • Kubernetes
      • Apache Mesos
      • Docker Swarm

      🚀 为什么Stalwart值得关注

      随着用户对隐私和主权的重视,Stalwart 凭借其单一二进制文件的极简部署方式和对现代标准(如 2026 年正在开发的 Rust + Dioxus 架构 Webmail)的追求,成为了替代传统 Postfix/Dovecot 复杂组合的最佳方案。

      📋 详细对比:Stalwart vs 传统方案

      对比维度传统方案 (Postfix + Dovecot)Stalwart
      组件数量多个独立组件(Postfix、Dovecot、OpenDKIM、RSpam、数据库等)单一二进制文件
      配置复杂度各组件独立配置,需要”粘合”集成统一配置,提供 Web 管理界面
      协议支持SMTP + IMAP/POP3(需额外组件)JMAP + IMAP + SMTP + POP3 + CalDAV + CardDAV + WebDAV
      语言C/C++(Postfix/Dovecot)Rust(内存安全)
      日历/联系人需额外部署(如 Radicale)原生集成
      学习曲线陡峭,多年经验积累相对平缓,文档完善
      现代协议JMAP 需额外方案JMAP 为核心设计

      👥 社区反馈摘要:

      • “Stalwart 非常简单,完胜 Dovecot 和 Postfix 的部署体验”
      • “如果你有邮件服务器和 Linux 经验,Stalwart 是最佳选择,没有其他方案能提供如此细粒度的控制和丰富的功能”
      • “Stalwart Mail 给我带来的麻烦比其他邮件解决方案都少”
      • Privacy Guides 官方使用 Stalwart 作为其内部邮件系统

      ⚠️ 需要考虑的因素:

      • Stalwart 目前由单一维护者开发(Mauro De Gennaro),部分用户对此表示担忧
      • 作为较新的项目,生产环境验证时间相对较短
      • 某些用户报告了与 RocksDB 相关的数据库损坏问题(建议使用 FoundationDB 或 PostgreSQL)
      • 功能丰富意味着需要理解更多现代概念

      🔮 2026 年路线图与未来展望

      📅 版本 1.0 里程碑:

      Stalwart 已宣布功能完备(feature complete),所有计划支持的核心功能和开放标准协议均已就位。下一个重大里程碑是:

      1. 最终确定数据库 Schema
      2. 性能优化
      3. 发布 1.0 正式版

      🌐 Webmail 开发计划:

      1.0 版本发布后(预计 2026 年),团队将启动 Webmail 开发:

      • 技术栈:Rust + Dioxus 框架
      • 架构:单页应用(SPA)
      • 团队计划直接为 Dioxus 生态贡献代码,扩展可用组件

      🎤 FOSDEM 2026 重磅演讲:

      Stalwart 将出席 2026 年 1 月 31 日至 2 月 1 日在比利时布鲁塞尔举行的 FOSDEM 2026,发表题为《Stalwart:开源能做到 Gmail 级别的邮件吗?》的演讲。演讲将涵盖:

      • 📊 以 1,024 节点集群为实例的架构设计
      • 💾 跨集群存储和索引 PB 级邮件的策略
      • 🛡️ 大规模垃圾邮件和钓鱼过滤
      • 📮 分布式 MTA 队列管理
      • ⚖️ IMAP、JMAP 和 SMTP 流量的负载均衡
      • 🔄 集群协调、编排和自动扩缩容
      • 🏭 Apple iCloud 等厂商使用的类似架构模式

      📧 临时 Webmail 解决方案:

      在官方 Webmail 开发完成前,推荐使用以下兼容方案:

      • Roundcube(经典选择)
      • SnappyMail(轻量快速)
      • SoGo(功能丰富)
      • TMail Web(支持 JMAP 协议)

      🛠️ 快速开始

      📚 官方资源

      资源类型链接
      官方文档Stalwart Documentation
      GitHub 仓库stalwartlabs/stalwart
      官方博客Stalwart Labs Blog
      发布日志Releases
      FOSDEM 演讲Gmail-scale Email Talk

      📋 版本选择指南

      版本适用场景授权协议
      Community Edition个人、开源项目、小型团队AGPL-3.0
      Enterprise Edition企业生产环境、需要 AI 功能商业授权
      Sponsor BenefitsGitHub/OpenCollective 赞助者开放企业功能

      ⚡ 最小化部署示例

      单机部署(SQLite 后端)

      bash
      # 下载最新版本 curl -LO https://github.com/stalwartlabs/stalwart/releases/latest/download/stalwart-linux-x86_64.tar.gz
      
      # 解压并运行 tar -xzf stalwart-linux-x86_64.tar.gz
      ./stalwart --init

      📌 建议:生产环境请使用 v0.13.4 或更高版本,以确保包含最新的安全修复。


      📖 课程总结

      Stalwart 代表了邮件服务器领域的范式转变:从传统的多组件拼接架构,到现代的全栈一体化解决方案。 它的核心价值主张包括:

      1. 🔒 安全优先:Rust 语言 + 双次安全审计 + 4 小时漏洞响应
      2. 📱 现代协议:JMAP 为核心,完美适配移动互联网时代
      3. 🗓️ 完整协作:邮件 + 日历 + 联系人 + 文件,一个服务器搞定
      4. 🤖 AI 增强:企业版集成主流 LLM 提供商
      5. ☁️ 弹性架构:从 SQLite 单机到 1,024 节点集群的无缝扩展
      6. 🧩 极简运维:单一二进制 + Web 管理界面

      对于 2026 年希望掌控自己数据主权的个人和组织而言,Stalwart 提供了一条清晰的自托管路径——不再需要在功能、安全性和易用性之间做出妥协。


      📚 参考资料与进一步阅读:

  • 抱歉,回覆主題必需先登入。