-
Stalwart Mail Server
https://github.com/stalwartlabs/stalwart
All-in-one Mail & Collaboration server. Secure, scalable and fluent in every protocol (IMAP, JMAP, SMTP, CalDAV, CardDAV, WebDAV).Stalwart 是采用 Rust 开发的开源邮件与协作服务器,集成 SMTP、JMAP、IMAP、POP3、Sieve,以及 CalDAV、CardDAV、WebDAV 等协议,同时提供反垃圾邮件、反钓鱼、DKIM/SPF/DMARC/ARC、OIDC、2FA、Prometheus 等能力。它既可以单机运行,也支持进一步扩展到集群。
-
Bulwark Webmail
https://github.com/bulwarkmail/webmail
Self-hosted JMAP webmail for Stalwart Mail Server. Mail, calendar, contacts, and files in one client.Bulwark 是面向 Stalwart 的现代化自托管 Webmail,基于 Next.js 开发,以 JMAP 作为主要通信协议。除了邮件,还提供日历、通讯录和文件管理,并支持 SSO/OIDC、2FA、多账号、全文搜索、Sieve、PWA 等功能。
方案
可以采用 Stalwart Mail Server 作为邮件系统核心服务,Bulwark Webmail 作为统一 Web 邮箱前端,构建一套轻量、现代化、可自主管理的企业邮件平台。
整体方案的主要价值是减少邮件系统组件数量,同时保持标准协议兼容性。对于个人邮件、企业内部邮箱、小型邮件服务平台以及需要自建 Webmail 的场景,这套组合值得优先进行 PoC。
部署层建议采用 Docker Compose + Nginx。
DNS 配置 MX、SPF、DKIM、DMARC、PTR/rDNS,并根据实际业务配置 SMTP 出站策略。
mail.example.com
├── :25 SMTP
├── :587 Submission
├── :143 IMAP
├── :4190 Sieve 邮件过滤规则管理
└── :443 HTTPS(Nginx)
├── Stalwart JMAP
├── Stalwart CalDAV
├── Stalwart CardDAV
├── Stalwart WebDAV
└── Bulwark Webmail
存储方面,初期可采用单机部署,邮件数据、索引和附件使用本地磁盘(嵌入式 KV 数据库 RocksDB)。
| Type | Local | Cluster |
|---|---|---|
| Data Store | RocksDB | FoundationDB / PostgreSQL / MySQL |
| Blob Store | RocksDB | S3 |
| Search Store | RocksDB | Elasticsearch / Meilisearch / Data Store |
| In-Memory Store | RocksDB | Redis / Valkey / Memcache / Data Store |
可以通过 Docker 部署 https://hub.docker.com/r/stalwartlabs/stalwart,也可以直接在服务器上安装:
curl https://get.stalw.art/install.sh -o install.sh
sudo sh install.sh
- /usr/local/bin/stalwart
- /etc/stalwart/stalwart.env
- /etc/stalwart/config.json
- /var/lib/stalwart/ (数据)
- /var/log/stalwart/ (日志)