Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

Mailcow vs Stalwart vs Mailu at 10,000 Mailboxes: What Holds Up in Production

说明与用途

Stalwart Community Edition 成功处理了 10,000 个邮箱,提供 JMAP、集群和外部存储,而 Mailcow 和 Mailu 在没有商业许可证的情况下缺乏生产级多节点支持。

问题

Migrating a university email system to 10,000 mailboxes while ensuring scalability, high availability, and manageable provisioning.

结果

Stalwart Community edition successfully handled 10,000 mailboxes with JMAP, clustering, and external storage, while mailcow and Mailu lacked production‑scale multi‑node support or required commercial licenses for advanced features.

工作流

  • 1. Choose Stalwart Community edition for its Rust binary and JMAP support.
  • 2. Configure a PostgreSQL database for metadata and a MinIO S3‑compatible store for message blobs.
  • 3. Replace IceWarp’s LDAP/AD directory with Stalwart’s domain configuration via the web admin or API.
  • 4. Migrate mail using imapsync, calendars and contacts via a custom script, and files via CalDAV/CardDAV/WebDAV copy.
  • 5. Set up NATS as the message bus for clustering, HAProxy as a front‑end, and replicate PostgreSQL and MinIO for HA.
  • 6. Test per‑user send‑rate limits (not available in Community) by implementing limits in the webmail layer and reverse proxy.
  • 7. Validate high availability by simulating node failure and ensuring failover to standby nodes.

证据

We run Stalwart for a university with 10,000 mailboxes

来源

Stalwart is a single binary written in Rust that speaks every mail and groupware protocol itself

来源

We keep metadata and settings in PostgreSQL and message blobs in S3-compatible object storage (MinIO)

来源

Version 0.16 changed the configuration model. There's no big config.toml anymore

来源

We wanted a server-side send rate limit per user, so a compromised account talking raw SMTP couldn't blast out mail

来源

Stalwart's Community clustering runs several independent nodes on the same shared stores, coordinated through a message bus

来源

  • 记录日期: 2026-10-14T22:41:12.465Z