开源自托管邮件服务器:架构、选型与决策(2026版)
-
开源自托管邮件服务器:架构、选型与决策(2026版)
目录- 一、为什么自托管邮件很重要?
- 1.1 自托管邮件的核心价值
- 1.2 2026年的技术环境变化
- 二、开源邮件服务器分类体系
- 2.1 按架构模式分类
- 2.2 按功能范围分类
- 2.3 按扩展性分类
- 三、单二进制一体化方案(现代派)
- 3.1 方案总览对比
- 3.2 Stalwart:功能最全的协作型服务器
- 3.3 Mox:极简主义的完美诠释
- 3.4 Maddy:纯粹的邮件传输引擎
- 3.5 WildDuck:API驱动的水平扩展方案
- 四、容器化集成方案(Docker派)
- 4.1 方案对比
- 4.2 Mailcow:功能最全的Docker邮件套件
- 4.3 Mailu:轻量化的Docker选择
- 五、脚本化部署方案(傻瓜派)
- 5.1 方案对比
- 5.2 Mail-in-a-Box:新手的最佳起点
- 5.3 iRedMail:传统运维的可靠选择
- 六、传统经典组合(工业派)
- 6.1 Postfix + Dovecot:25年的工业标准
- 七、全维度横向对比
- 7.1 综合对比表
- 7.2 场景速查表
- 八、选型决策框架
- 8.1 决策流程图
- 8.2 资源需求对比
- 8.3 官方链接汇总
一、为什么自托管邮件很重要?
1.1 自托管邮件的核心价值
在云服务高度集中化的今天,自托管邮件服务器不仅没有过时,反而因为以下原因变得更加重要:
价值维度 具体体现 🔐 数据主权 邮件内容完全存储在自己的服务器,不受第三方审查或扫描 💰 成本控制 大量用户场景下,自托管成本远低于按用户付费的SaaS 🛡️ 隐私合规 满足GDPR等法规对数据存储地点的要求 ⚙️ 定制自由 可根据业务需求定制过滤规则、集成方式、存储策略 🌐 去中心化 避免少数巨头垄断邮件基础设施,维护互联网开放性 📊 一个现实数据:据统计,Google和Microsoft两家公司控制着全球超过60%的企业邮件市场。自托管是对抗这种集中化趋势的重要力量。
1.2 2026年的技术环境变化
过去的痛点正在被解决:
传统痛点 2026年解决方案 配置复杂(需整合6-10个组件) 单二进制一体化服务器兴起 安全漏洞风险(C语言内存问题) Rust/Go等内存安全语言重写 运维负担重 自动化DNS配置、Let's Encrypt集成 移动端同步差 JMAP、ActiveSync等现代协议普及 IP信誉难建立 完善的SPF/DKIM/DMARC自动配置 二、开源邮件服务器分类体系
理解分类是做出正确选型的第一步。 2026年的开源邮件服务器可以从三个维度进行分类:
2.1 按架构模式分类
┌─────────────────────────────────────────────────────────────────┐ │ 开源邮件服务器架构分类 │ ├─────────────────┬─────────────────┬─────────────────┬───────────┤ │ 单二进制一体化 │ 容器化集成 │ 脚本化部署 │ 传统组合 │ │ (Modern) │ (Docker) │ (Turnkey) │ (Classic) │ ├─────────────────┼─────────────────┼─────────────────┼───────────┤ │ • Stalwart │ • Mailcow │ • Mail-in-a-Box │ • Postfix │ │ • Mox │ • Mailu │ • iRedMail │ + Dovecot │ │ • Maddy │ │ │ + ... │ │ • WildDuck* │ │ │ │ └─────────────────┴─────────────────┴─────────────────┴───────────┘ *WildDuck为Node.js单进程,依赖MongoDB2.2 按功能范围分类
类型 定义 代表方案 📬 纯邮件服务器 专注SMTP/IMAP/POP3,不含协作功能 Mox、Maddy、Mailu 📅 邮件+协作平台 集成日历(CalDAV)、联系人(CardDAV)、文件共享 Stalwart、Mailcow、Mail-in-a-Box 🔌 API优先平台 面向开发者,以REST API为主要交互方式 WildDuck 2.3 按扩展性分类
规模层级 用户规模 推荐方案 🏠 个人/微型 1-10用户 Mox、Mail-in-a-Box 🏢 小型企业 10-100用户 Stalwart、Mailcow、iRedMail 🏛️ 中型企业 100-10,000用户 Stalwart、Mailcow、WildDuck 🌐 大规模/云原生 10,000+用户 Stalwart(+FoundationDB)、WildDuck(+MongoDB分片) 三、单二进制一体化方案(现代派)
这是2026年最具技术前瞻性的类别。 单一可执行文件包含完整功能,无外部依赖,代表了邮件服务器的未来发展方向。
3.1 方案总览对比
维度 Stalwart 🦀 Mox 🐹 Maddy 🐹 WildDuck 🟢 开发语言 Rust Go Go Node.js 许可证 AGPL-3.0 / 商业双许可 MIT GPL-3.0 EUPL-1.2 协作功能 ✅ CalDAV/CardDAV/WebDAV ❌ ❌ ❌ 内置Webmail ❌ (2026年开发) ✅ ❌ ✅ JMAP支持 ✅ 完整实现 🔶 路线图 ❌ ❌ 存储后端 本地/SQL/S3/FoundationDB 本地文件 本地/SQL MongoDB 最大扩展性 ⭐⭐⭐⭐⭐ 百万级 ⭐⭐⭐ 中等 ⭐⭐⭐ 中等 ⭐⭐⭐⭐⭐ 百万级 部署难度 中等 极低 低 中等 AI垃圾过滤 ✅ (Enterprise) ❌ ❌ ❌ 安全审计 ✅ 已通过 防御性编程 防御性编程 防御性编程 当前版本 v0.x (接近1.0) v0.0.15 v0.7.x v1.46.1 IMAP稳定性 高 Beta Beta 高 3.2 Stalwart:功能最全的协作型服务器
定位:面向企业的Microsoft 365/Google Workspace开源替代品
核心优势
1️⃣ JMAP协议的领先实现
Stalwart 在2025年成为首个完整实现JMAP协作协议家族的开源服务器:
JMAP扩展 替代的传统协议 核心改进 JMAP for Mail IMAP 网络往返减少70%+,原生推送 JMAP for Calendars CalDAV JSON原生,批量操作优化 JMAP for Contacts CardDAV 更高效的增量同步 JMAP for File Storage WebDAV 现代API设计 JMAP Sharing WebDAV ACL 统一的权限模型 📝 为什么JMAP重要? IMAP诞生于1986年,其设计假设是拨号网络时代的低带宽环境。JMAP采用JSON over HTTP/2,天然适配现代移动网络,显著改善电池续航和同步速度。
2️⃣ 云原生存储架构
存储后端 适用场景 特点 SQLite 个人/测试 零配置 PostgreSQL/MySQL 中型企业 成熟可靠 S3兼容存储 云端部署 成本优化,冷热分离 FoundationDB 大规模分布式 支撑百万级邮箱 Stalwart + FoundationDB 的组合意味着:单一代码库,从个人博客到Gmail规模无缝扩展。 这在开源邮件领域前所未有。
3️⃣ 多层安全防御
┌─────────────────────────────────────────────────────┐ │ Stalwart 安全架构 │ ├─────────────────────────────────────────────────────┤ │ AI层 (Enterprise) │ │ └─ LLM分类器: OpenAI/Anthropic集成,语义分析 │ ├─────────────────────────────────────────────────────┤ │ 规则层 │ │ ├─ 统计学垃圾邮件分类器 (自动训练) │ │ ├─ DNS黑名单检查 (IP/域名/哈希) │ │ └─ 同形文字攻击/发件人欺骗检测 │ ├─────────────────────────────────────────────────────┤ ��� 协议层 │ │ ├─ DMARC/DKIM/SPF/ARC 验证 │ │ ├─ DANE/MTA-STS 传输安全 │ │ └─ TLS Reporting │ ├─────────────────────────────────────────────────────┤ │ 存储层 │ │ ├─ S/MIME / OpenPGP 静态加密 │ │ └─ 零知识存储 (用户PGP公钥加密) │ └─────────────────────────────────────────────────────┘4️⃣ 版本与许可模式
版本 许可证 功能差异 Community AGPL-3.0 完整邮件/协作功能 Enterprise 商业许可 +AI过滤、SAML SSO、集群、多租户、品牌定制、删除恢复、官方支持 💡 策略优势:从免费社区版起步,按需升级到企业版,避免前期过度投资。
2025-2026发展动态
- ✅ JMAP协议层重写:零拷贝反序列化,性能大幅提升
- ✅ CVE-2025-59045修复:CalDAV日历递归扩展漏洞
- 🔜 v1.0正式版:数据库schema定型
- 🔜 Webmail开发:Rust + Dioxus框架SPA应用
- 📢 FOSDEM 2026演讲:《Can Open Source do Gmail-scale Email?》
适用场景
✅ 推荐场景 ❌ 不推荐场景 需要替代Google Workspace/M365 只需要最基础的邮件功能 需要JMAP协议支持 需要开箱即用的Webmail 云原生/Kubernetes部署 极度追求运维简单 预期用户量大(万级以上) 预算极为有限的个人用户 对安全审计有合规要求 偏好MIT等宽松许可证 3.3 Mox:极简主义的完美诠释
定位:个人和小微团队的"刚好够用"方案
核心优势
1️⃣ 真正的10分钟部署
bash# 下载 wget https://beta.gobuilds.org/github.com/mjl-/mox@latest/linux-amd64-latest/mox # 一条命令完成所有配置 ./mox quickstart your-domain.com admin@your-domain.com # 输出:完整的DNS记录清单,复制粘贴到DNS提供商即可quickstart自动完成的工作:
- ✅ SPF/DKIM/DMARC记录生成
- ✅ MTA-STS策略配置
- ✅ Let's Encrypt证书申请(ACME)
- ✅ 管理员账户创建
- ✅ 完整DNS记录输出
2️⃣ 内置Webmail——真正的零依赖
这是Mox与其他"单二进制"方案最显著的差异:
方案 Webmail状态 Stalwart ❌ 无(2026年开发) Maddy ❌ 无 WildDuck ✅ 有(独立组件) Mox ✅ 内置 安装即可用,无需额外配置Roundcube、SnappyMail等。
3️⃣ 代码质量与安全哲学
特性 说明 Go语言 内存安全,高并发 精简代码库 攻击面小,易于审计 RFC交叉引用 代码中大量标注相关规范 自动化测试 单元测试、集成测试、模糊测试 MIT许可 最宽松的开源许可 4️⃣ 智能垃圾邮件过滤
┌─────────────────────────────────────┐ │ Mox 垃圾邮件过滤 │ ├─────────────────────────────────────┤ │ 声誉学习系统 │ │ └─ 按主机/域名/发件人积累信誉 │ ├─────────────────────────────────────┤ │ 贝叶斯过滤器 │ │ └─ 从用户垃圾/非垃圾分类自动学习 │ ├─────────────────────────────────────┤ │ 协议验证 │ │ └─ SPF/DKIM/DMARC + 灰名单 │ └─────────────────────────────────────┘资金支持与可持续性
Mox获得了欧洲公共资金的持续支持,这是其长期可持续发展的重要保障:
时间 资助方 项目方向 2023/2024 NLnet NGI0 Entrust 核心功能开发 2024 NLnet e-Commons Fund API与Webhook开发 2024/2025 NLnet NGI0 Zero Core 自动化DNS管理 2025路线图
- 🔜 Web交互式安装向导(
mox setup图形化) - 🔜 自动化DNS管理(含DANE/DKIM密钥轮换)
- 🔜 加密存储(邮件和TLS密钥静态加密)
- 🔜 可交付性诊断工具
- 🔜 JMAP支持
适用场景
✅ 推荐场景 ❌ 不推荐场景 个人邮件独立 需要日历/联系人同步 小微团队(<20人) 预期用户量大 追求最快部署速度 需要JMAP协议 需要内置Webmail 对IMAP稳定性要求极高(仍为Beta) 偏好MIT许可证 需要企业级支持 3.4 Maddy:纯粹的邮件传输引擎
定位:替代Postfix+Dovecot+OpenDKIM+OpenSPF+OpenDMARC的单一守护进程
核心特点
维度 说明 设计目标 用一个进程替代传统邮件栈的6+组件 功能范围 纯邮件传输与存储,无Webmail,无协作 配置风格 清晰的声明式配置语法 开发语言 Go 许可证 GPL-3.0 2025年关键更新
- ✅ SMTP Smuggling零日漏洞修复
- ✅ RFC 2136 DNS-01 ACME支持(自动证书续期)
- ✅ Go 1.23+要求
- ⚠️ IMAP存储层仍为Beta
适用场景
✅ 推荐场景 ❌ 不推荐场景 追求配置逻辑清晰 需要Webmail 不需要任何Web界面 需要协作功能 熟悉传统邮件配置概念 对IMAP稳定性要求极高 开发/测试环境 生产环境高可用要求 3.5 WildDuck:API驱动的水平扩展方案
定位:面向开发者的、可无限水平扩展的邮件平台
架构革新
WildDuck最大的创新是完全摒弃文件系统存储邮件,一切存于MongoDB:
┌─────────────────────────────────────────────────────┐ │ WildDuck 架构 │ ├─────────────────────────────────────────────────────┤ │ WildDuck实例1 WildDuck实例2 WildDuck实例3 ... │ │ ↓ ↓ ↓ │ │ ┌─────────────────────────────────────────────┐ │ │ │ MongoDB集群 (分片 + 复制) │ │ │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │ │ │ Shard 1 │ │ Shard 2 │ │ Shard N │ │ │ │ │ └─────────┘ └─────────┘ └─────────┘ │ │ │ └─────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────┘ 特点: • 所有实例完全无状态 • 用户可连接任意实例 • 通过添加节点实现水平扩展 • 打破"单用户单服务器"限制核心优势
维度 说明 API优先 一切通过REST API控制,无需修改配置文件 无状态设计 所有WildDuck实例共享MongoDB,负载均衡简单 存储效率 附件去重 + MongoDB压缩 = 约40%空间节省 安全特性 应用专用密码、MFA(TOTP/U2F)、GPG加密存储 许可证 EUPL-1.2(欧盟公共许可证) 适用场景
✅ 推荐场景 ❌ 不推荐场景 开发者通过API集成邮件功能 传统运维模式 需要海量邮件的水平扩展 简单部署需求 已有MongoDB生态系统 不想维护MongoDB集群 SaaS产品邮件后端 个人/小微团队 四、容器化集成方案(Docker派)
这一类方案通过Docker将传统组件打包,提供统一的管理界面。 适合已有Docker运维经验的团队。
4.1 方案对比
维度 Mailcow 🐄 Mailu 📮 架构 Postfix + Dovecot + Rspamd + SOGo + ... 模块化Docker组件 功能丰富度 ⭐⭐⭐⭐⭐ 极其丰富 ⭐⭐⭐⭐ 精简实用 协作功能 ✅ SOGo套件(日历/联系人) 可选集成 ActiveSync ✅ 完整支持 ❌ 资源消耗 较高(推荐4GB+ RAM) 中等 配置复杂度 较高 中等 适合规模 中小型企业 小型组织 4.2 Mailcow:功能最全的Docker邮件套件
定位:需要"全家桶"体验的中小型企业
核心优势
1️⃣ ActiveSync支持
这是Mailcow最独特的卖点之一。ActiveSync是Microsoft开发的邮件/日历/联系人同步协议,在移动设备(尤其是iOS和Android原生邮件客户端)上体验最佳。
同步协议 移动端体验 Mailcow支持 ActiveSync ⭐⭐⭐⭐⭐ ✅ IMAP+CalDAV+CardDAV ⭐⭐⭐ ✅ JMAP ⭐⭐⭐⭐ ❌ 2️⃣ 完整协作套件
通过集成SOGo,Mailcow提供:
- 📅 日历(支持共享、会议邀请)
- 👥 联系人
- 📧 Webmail
3️⃣ 2025年关键更新
- ✅ Rspamd升级至3.11-2
- ✅ MariaDB升级至10.11
- ✅ 新增外部认证源支持
- ✅ Docker镜像迁移至GitHub
适用场景
✅ 推荐场景 ❌ 不推荐场景 需要ActiveSync移动端同步 服务器资源有限(<4GB RAM) 需要完整协作功能 追求极简部署 已有Docker运维经验 无Docker经验 中小型企业(20-500人) 个人用户 4.3 Mailu:轻量化的Docker选择
定位:追求精简的Docker用户
核心特点
维度 说明 设计理念 不捆绑复杂协作软件,专注邮件核心 反垃圾 自动学习算法 + 灰名单 + DMARC/SPF 资源消耗 比Mailcow更低 许可证 完全自由软件 适用场景
✅ 推荐场景 ❌ 不推荐场景 Docker用户但不需要"全家桶" 需要ActiveSync 追求系统精简 需要完整协作套件 资源受限环境 大规模部署 五、脚本化部署方案(傻瓜派)
这一类方案通过自动化脚本将全新服务器配置为邮件服务器。 适合运维经验有限的用户。
5.1 方案对比
维度 Mail-in-a-Box 📦 iRedMail 📧 部署方式 Ubuntu专用一键脚本 多发行版支持脚本 定制性 ⭐ 几乎无配置选项 ⭐⭐⭐⭐ 高度可定制 包含组件 Roundcube + Nextcloud + 完整栈 Postfix + Dovecot + Roundcube + ... DNS配置 自动完成(含DNSSEC) 需手动配置 备份 内置S3备份 手动配置 适合用户 完全新手 有一定运维经验 付费版本 无 iRedAdmin-Pro 5.2 Mail-in-a-Box:新手的最佳起点
定位:"交钥匙"方案,追求最省心的体验
核心特点
bash# 在全新Ubuntu 22.04 VPS上 curl -s https://mailinabox.email/setup.sh | sudo bash一条命令完成:
- ✅ Postfix + Dovecot安装配置
- ✅ Roundcube Webmail
- ✅ Nextcloud(日历/联系人/文件)
- ✅ 垃圾邮件过滤
- ✅ DNS自动配置(SPF/DKIM/DMARC/MTA-STS/DNSSEC)
- ✅ Let's Encrypt证书
- ✅ S3备份配置
⚠️ 重要限制:这是一个"交钥匙"方案,基本没有配置选项。如果需要深度定制,请选择其他方案。
适用场景
✅ 推荐场景 ❌ 不推荐场景 完全新手 需要深度定制 个人/家庭使用 大规模部署 想要最省心的体验 企业级需求 5.3 iRedMail:传统运维的可靠选择
定位:有经验管理员的灵活部署工具
核心特点
维度 说明 支持系统 RHEL、Ubuntu、CentOS、Debian、OpenBSD、FreeBSD 技术栈 Postfix + Dovecot + Roundcube + SpamAssassin + ... 用户/域名 无限制 付费版本 iRedAdmin-Pro(高级管理界面) 适用场景
✅ 推荐场景 ❌ 不推荐场景 有Linux运维经验 完全新手 偏好原生OS部署(非Docker) 追求现代单二进制方案 需要跨发行版支持 需要ActiveSync 小微企业 大规模部署 六、传统经典组合(工业派)
6.1 Postfix + Dovecot:25年的工业标准
定位:大型企业和资深运维的基石选择
核心特点
维度 说明 历史 Postfix(1998)、Dovecot(2002) 稳定性 ⭐⭐⭐⭐⭐ 生产验证25年+ 灵活性 ⭐⭐⭐⭐⭐ 无与伦比 配置复杂度 ⭐⭐⭐⭐⭐ 最高 学习曲线 陡峭 完整技术栈示例
┌─────────────────────────────────────────────────────┐ │ 传统邮件服务器架构 │ ├─────────────────────────────────────────────────────┤ │ MTA层: Postfix │ │ └─ 负责邮件接收、路由、发送 │ ├─────────────────────────────────────────────────────┤ │ MDA层: Dovecot │ │ └─ 负责IMAP/POP3访问、邮件存储 │ ├─────────────────────────────────────────────────────┤ │ 认证层: OpenLDAP / MySQL / PostgreSQL │ ├─────────────────────────────────────────────────────┤ │ 安全层: │ │ ├─ OpenDKIM (DKIM签名) │ │ ├─ OpenSPF (SPF验证) │ │ ├─ OpenDMARC (DMARC策略) │ │ └─ Rspamd / SpamAssassin (垃圾邮件过滤) │ ├─────────────────────────────────────────────────────┤ │ Webmail层: Roundcube / SnappyMail │ ├────────────────────────────────────────────────────┤ │ 协作层 (可选): SOGo / Zimbra │ └─────────────────────────────────────────────────────┘适用场景
✅ 推荐场景 ❌ 不推荐场景 大型企业(500+用户) 追求快速部署 需要极致定制和灵活性 运维资源有限 有专业邮件运维团队 新手用户 需要与遗留系统深度集成 想要现代化体验 七、全维度横向对比
7.1 综合对比表
方案 架构类型 语言 协作功能 Webmail 扩展性 部署难度 最适合 Stalwart 单二进制 Rust ✅ ❌ ⭐⭐⭐⭐⭐ 中 企业协作替代 Mox 单二进制 Go ❌ ✅ ⭐⭐⭐ 极低 个人/小微 Maddy 单二进制 Go ❌ ❌ ⭐⭐⭐ 低 极简主义 WildDuck 单进程+MongoDB Node.js ❌ ✅ ⭐⭐⭐⭐⭐ 中 API/开发者 Mailcow Docker 混合 ✅ ✅ ⭐⭐⭐⭐ 中高 ActiveSync需求 Mailu Docker 混合 可选 ✅ ⭐⭐⭐ 中 轻量Docker Mail-in-a-Box 脚本 混合 ✅ ✅ ⭐⭐ 极低 完全新手 iRedMail 脚本 混合 可选 ✅ ⭐⭐⭐ 低中 传统运维 Postfix+Dovecot 传统 C 可选 可选 ⭐⭐⭐⭐⭐ 高 大型企业 7.2 场景速查表
你的需求 首选方案 备选方案 🏠 个人用户,最快上手 Mox Mail-in-a-Box 🏢 小微团队,需要日历 Stalwart Mailcow 📱 重视移动端ActiveSync Mailcow - ☁️ 云原生/Kubernetes Stalwart WildDuck 🔌 API驱动/开发者 WildDuck Stalwart 🐳 已有Docker经验 Mailcow Mailu 🆕 完全新手 Mail-in-a-Box Mox 🏛️ 大型企业,极致定制 Postfix+Dovecot Stalwart Enterprise 🔐 最严格安全要求 Stalwart (已审计) - 📜 偏好MIT许可 Mox - 🌐 百万级用户规模 Stalwart+FoundationDB WildDuck+MongoDB 八、选型决策框架
8.1 决策流程图
开始 │ ▼ ┌───────────────────────┐ │ 需要日历/联系人同步? │ └───────────────────────┘ │ │ 是 否 │ │ ▼ ▼ ┌──────────────┐ ┌──────────────────┐ │ 需要ActiveSync? │ │ 需要内置Webmail? │ └──────────────┘ └──────────────────┘ │ │ │ │ 是 否 是 否 │ │ │ │ ▼ ▼ ▼ ▼ Mailcow Stalwart Mox ┌──────────┐ │预期用户量?│ └──────────┘ │ │ >1000 <1000 │ │ ▼ ▼ ┌─────────────┐ ┌────────┐ │API驱动开发? │ │ Maddy │ └─────────────┘ └────────┘ │ │ 是 否 │ │ ▼ ▼ WildDuck Stalwart8.2 资源需求对比
方案 最低RAM 推荐RAM 磁盘 适合VPS Mox 512MB 1GB 20GB+ ✅ 最低配 Maddy 512MB 1GB 20GB+ ✅ 最低配 Stalwart 1GB 2GB 50GB+ ✅ 中配 Mail-in-a-Box 1GB 2GB 30GB+ ✅ 中配 iRedMail 2GB 4GB 50GB+ ⚠️ 中高配 Mailu 2GB 4GB 50GB+ ⚠️ 中高配 Mailcow 4GB 6GB+ 100GB+ ⚠️ 高配 WildDuck 2GB+ 4GB+ MongoDB集群 需专业规划 8.3 官方链接汇总
项目 GitHub 官网/文档 Stalwart stalwartlabs/stalwart stalw.art Mox mjl-/mox xmox.nl Maddy foxcpp/maddy maddy.email WildDuck zone-eu/wildduck docs.wildduck.email Mailcow mailcow/mailcow-dockerized mailcow.email Mailu Mailu/Mailu mailu.io Mail-in-a-Box mail-in-a-box/mailinabox mailinabox.email iRedMail iredmail iredmail.org
歡迎留言回复交流。
Log in to reply.