Stalwart vs Mailcow
Two very different answers to the same question. Mailcow assembles the components the internet already runs on (Postfix, Dovecot, Rspamd, SOGo) into an 18-service Docker stack, with webmail and groupware included. Stalwart rewrites every protocol from scratch in one Rust binary, adding JMAP, clustering and pluggable storage on a fraction of the RAM, and it's still pre-1.0. Neither ships a transactional sending API. If that's the gap, we're a third option, covered below.
At a glance
Side-by-side, current as of October 2026 (Stalwart v0.16.25, Mailcow 2026-09a).
| Stalwart | Mailcow | |
|---|---|---|
| Architecture | One Rust binary, every protocol in one process | Docker Compose, 18 services |
| Mail engine | Written from scratch | Postfix · Dovecot (decades in production) |
| Version | Pre-1.0 (v0.16.x) | Regular dated releases (2026-09a) |
| Runs on | Linux, macOS, FreeBSD, Windows, or Docker | Linux with Docker (full VMs; not LXC/OpenVZ) |
| RAM, 5–10 users | ~1 GB (~100 MB idle) | 6 GiB + 1 GiB swap minimum; 8 GiB recommended |
| Protocols | SMTP · IMAP · POP3 · JMAP · CalDAV · CardDAV · WebDAV | SMTP · IMAP · POP3, plus CalDAV/CardDAV via SOGo |
| Webmail | Not bundled | SOGo |
| Exchange ActiveSync | No | Yes (SOGo) |
| Antispam | Built-in filter (classifier, Pyzor; LLM on Enterprise) | Rspamd |
| Antivirus | Via milter (run ClamAV yourself) | ClamAV bundled |
| Storage | Pluggable: RocksDB, PostgreSQL, MySQL, SQLite, FoundationDB, S3, Azure, Redis (read replicas and sharding on Enterprise) | MariaDB + Dovecot mail storage |
| Clustering / HA | Built in (multi-node, Kubernetes, Swarm) | Single host |
| Directory / SSO | LDAP, OIDC, SQL; SCIM on Enterprise | LDAP, OIDC, Keycloak |
| Transactional sending API | No (JMAP submission + event webhooks) | No (SMTP submission) |
| Upgrades | Manual; minor releases may need config changes or migrations | Manual update.sh |
| Automatic rollback | No | No |
| License | AGPL-3.0 + proprietary Enterprise license | GPL-3.0 |
| Pricing | Free; Enterprise is a per-mailbox subscription | Free (paid ServerCow support optional) |
How they differ
Proven components vs a clean rewrite
This is the real decision. Mailcow doesn't implement mail protocols itself: it packages Postfix, Dovecot, Rspamd, SOGo, ClamAV and MariaDB, components with decades of production hardening between them, into one managed Docker stack. Every strange edge case in SMTP and IMAP has long since been hit and fixed upstream.
Stalwart takes the opposite approach: SMTP, IMAP, POP3, JMAP, CalDAV, CardDAV and WebDAV, all reimplemented from scratch in memory-safe Rust and shipped as a single binary, with a published security audit. That buys a coherent design and very modest resource use. The cost is a younger codebase that is still pre-1.0: its own roadmap says the next milestone is finalising the database schema before version 1.0.
Hardware
The gap is large. Stalwart idles at around 100 MB and documents 1 GB of RAM as comfortable for 5 to 10 users. Mailcow's documented minimum is 6 GiB of RAM plus 1 GiB of swap, with 8 GiB recommended for the same 5 to 10 users, because it runs SOGo, ClamAV, MariaDB and the rest of its stack. Stalwart also runs natively on Linux, macOS, FreeBSD and Windows; Mailcow needs Linux with Docker on full virtualisation.
Protocols and clients
Stalwart is the more protocol-complete server: JMAP for mail, calendars and contacts, plus CalDAV, CardDAV and WebDAV file storage, all built in. Mailcow covers SMTP, IMAP and POP3 through Postfix and Dovecot, and gets calendar, contacts and Exchange ActiveSync from SOGo.
The practical difference shows up in the browser and on phones. Mailcow's SOGo is a full webmail and groupware web app, and ActiveSync means phones sync mail, calendar and contacts natively. Stalwart's web interface is for administration and account self-service, not reading mail, and it doesn't speak ActiveSync, so users rely on IMAP, JMAP or DAV clients, or a webmail you add yourself.
Filtering
Mailcow ships Rspamd for spam and ClamAV for viruses, both preconfigured. Stalwart has its own built-in spam filter with a statistical classifier, Pyzor and spam traps (LLM analysis is an Enterprise feature); antivirus means running ClamAV yourself and connecting it as a milter.
Scale and storage
If you need more than one machine, this is Stalwart's strongest ground. It clusters natively, coordinates through peer-to-peer or Kafka, NATS or Redis, runs on Kubernetes or Docker Swarm, and stores data in your choice of RocksDB, PostgreSQL, MySQL, SQLite, FoundationDB, S3-compatible or Azure storage; read replicas and sharded storage are Enterprise features. Mailcow is a single-host stack; high availability means building replication and failover around it yourself.
Upgrades
Neither has an automated update safety net. Mailcow upgrades withupdate.sh, which pulls new images and restarts containers. Stalwart's documentation says plainly that there is no automated upgrade tool yet: patch releases are safe, but minor releases may require configuration changes or data migrations, so it recommends reading the release notes first and upgrading only when necessary. Neither takes a pre-update snapshot, runs a health-check gate or rolls back on failure.
Licensing and cost
Mailcow is GPL-3.0 with no paid edition; its maintainers offer ServerCow support contracts. Stalwart is dual-licensed: the AGPL-3.0 core is free, and a proprietary Enterprise edition, priced per mailbox, adds multi-tenancy, SCIM provisioning, LLM spam filtering, mail undelete, read replicas and sharded storage, live telemetry and priority support.
Programmatic sending
Neither is a transactional sending platform. Stalwart's JMAP can submit mail and its webhooks report events, but your application integrates against a mail protocol. Mailcow's API is administrative, and applications send through SMTP submission as a real mailbox. There are no domain-scoped sending keys, per-domain rate limits or delivery analytics in either.
Who each is best for
Choose Stalwart if
- You want JMAP, or CalDAV/CardDAV/WebDAV built into the server itself.
- You need clustering, high availability or a specific storage backend.
- RAM is tight, or you want to run outside Docker or Linux.
- You're comfortable with pre-1.0 software and reading release notes before each upgrade.
Choose Mailcow if
- You want the proven Postfix and Dovecot core rather than a rewrite.
- Your users need webmail and phone sync (ActiveSync) on day one.
- You want Rspamd and ClamAV preconfigured.
- You have 6–8 GiB of RAM for a single, self-contained host.
The third option: Vectis Mail
If what's missing from both is a transactional sending API, a proven mail core that doesn't need 6 GiB of RAM, or an update you don't have to supervise, that's the gap Vectis Mail is built to close. It runs the same proven Postfix and Dovecot core as Mailcow, with Rspamd by default, installed by one guided command:
- Runs on Ubuntu 24.04 LTS from 2 GB of RAM without ClamAV (4 GB recommended), in 10 containers by default.
- Domains, mailboxes, aliases and API keys managed from an admin dashboard or the REST API, taking effect immediately with no restarts.
- A 40+ endpoint REST API: transactional sending (single and batch, with attachments), HMAC-signed inbound webhooks, domain-scoped API keys with per-domain rate limits, and analytics.
- Atomic 6-phase updates (snapshot, migrate, pull, deploy, health-check, complete) with automatic rollback, and
vectis verifyto prove the box runs exactly what was published.
To be equally clear about where Vectis Mail doesn't fit: it's Docker-only and single-node, and it doesn't ship JMAP, calendar, contacts or ActiveSync today. If groupware or a multi-node cluster is the core requirement, it isn't your answer. See the dedicated Vectis Mail vs Stalwart andVectis Mail vs Mailcow comparisons for the full detail on each.
Frequently asked questions
Is Stalwart or Mailcow better?
They make opposite bets. Mailcow assembles long-proven components (Postfix, Dovecot, Rspamd, SOGo, ClamAV) into an 18-service Docker stack with webmail, groupware and phone sync included. Stalwart reimplements every protocol in one Rust binary, adding JMAP, clustering and pluggable storage on a fraction of the RAM, but it is still pre-1.0 and has no bundled webmail. Choose on whether you value proven internals and a complete out-of-the-box suite (Mailcow) or a modern single binary that scales out (Stalwart).
Is Stalwart production-ready?
Stalwart describes itself as feature complete, but it is still pre-1.0 (v0.16.25 as of October 2026), and its own upgrade documentation says there is no automated upgrade tool yet: minor releases may require configuration changes or data migrations, so it recommends reading the release notes and upgrading only when necessary. Version 1.0 is planned to finalise the database schema.
How much RAM do Stalwart and Mailcow need?
Stalwart idles at roughly 100 MB, and its documentation says 1 GB of RAM is generally sufficient for 5 to 10 users. Mailcow's documented minimum is 6 GiB of RAM plus 1 GiB of swap with the default configuration, with 8 GiB recommended for about 5 to 10 users, because it runs SOGo, ClamAV, MariaDB and the rest of its 18-service stack.
Does Stalwart have webmail like Mailcow?
No. Stalwart's web interface is for administration and account self-service; it doesn't bundle a webmail client, so you add one yourself or rely on desktop and mobile mail apps. Mailcow bundles SOGo, which provides webmail, calendar, contacts and Exchange ActiveSync in one web app.
Does either have a transactional sending API?
Not in the SendGrid sense. Stalwart offers JMAP, which can submit mail, plus event webhooks, so an application has to integrate against a mail protocol. Mailcow's API is administrative, and applications send through SMTP submission as a real mailbox. Neither offers domain-scoped sending keys, per-domain rate limits or delivery analytics. Vectis Mail is a self-hosted platform built to add that sending API alongside mailbox hosting.
Related comparisons
See how Vectis Mail itself compares to each.
Vectis Mail vs Stalwart →
The proven Postfix/Dovecot/Rspamd engine, a transactional API and self-rolling-back updates vs a from-scratch Rust rewrite.
Vectis Mail vs Mailcow →
A transactional sending API and atomic updates with rollback vs Mailcow's web-UI-driven, admin-only surface.
iRedMail vs Mailcow →
Another head-to-head: OS-native vs Docker, and OpenLDAP vs none.
Mailcow vs Mail-in-a-Box →
Docker groupware vs a one-command box on 1 GB of RAM.
Mailu vs Stalwart →
A light proven Docker stack vs a Rust all-in-one.