Stalwart + Bulwart Webmail 搭建邮件系统

  • 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/ (日志)
如果你有魔法,你可以看到一个评论框~