Stalwart vs mailcow: Modern vs Traditional Email

Quick Verdict

mailcow is the safer choice for most self-hosted email deployments. It bundles a proven stack (Postfix + Dovecot + SOGo) with a polished admin UI and years of production use. Stalwart is the future-looking option — a single Rust binary replacing the entire traditional email stack — but it’s newer and less battle-tested. Choose mailcow for reliability today; choose Stalwart if you want cutting-edge efficiency and JMAP support.

Overview

mailcow and Stalwart represent two fundamentally different approaches to self-hosted email. mailcow assembles well-established open-source components (Postfix, Dovecot, ClamAV, Rspamd, SOGo) into a cohesive Docker stack. Stalwart replaces all of those components with a single Rust binary that handles SMTP, IMAP, JMAP, and spam filtering in one process.

AttributeStalwartmailcow
LanguageRustMultiple (Postfix=C, Dovecot=C, SOGo=Objective-C)
ArchitectureSingle binaryMulti-container (10+ services)
First release20232017
LicenseAGPL-3.0 (dual-licensed)GPL-3.0
JMAP supportYes (native)No
WebmailBuilt-in (basic)SOGo (full-featured)

Feature Comparison

FeatureStalwartmailcow
SMTP (sending/receiving)YesYes (Postfix)
IMAPYesYes (Dovecot)
POP3YesYes (Dovecot)
JMAPYesNo
WebmailBasic built-inSOGo (calendar, contacts, shared mailboxes)
Admin UIWeb-basedWeb-based (mailcow UI)
Spam filteringBuilt-in (sieve-based)Rspamd
Virus scanningNo (optional external)ClamAV
DKIM/SPF/DMARCYesYes
ARC signingYesYes
MTA-STSYesYes
DANE/TLSAYesYes
Two-factor authYes (TOTP, WebAuthn)Yes (TOTP, U2F)
Multi-domainYesYes
AliasesYesYes
Sieve filtersYes (ManageSieve)Yes (ManageSieve)
Per-user quotasYesYes
OAuth/OIDCYes (built-in provider)Yes (external)
Clustering/HAYes (built-in)No (single-node)
ActiveSyncNoYes (via SOGo)
CalDAV/CardDAVNoYes (SOGo)
Autoconfig/AutodiscoveryYesYes
APIREST APIREST API
BackupDatabase exportDocker volume backup

Resource Usage

This is where Stalwart’s single-binary architecture pays off dramatically.

MetricStalwartmailcow
RAM (idle)~50-100 MB~1.5-2 GB
RAM (100 users)~200-400 MB~2-3 GB
Containers110-15
Disk (application)~50 MB binary~2 GB (images)
Startup timeSecondsMinutes
CPU (idle)MinimalLow-moderate (ClamAV, Rspamd)

mailcow’s resource overhead comes from running ClamAV (virus scanner), Rspamd (spam filter), SOGo (groupware), Redis, MariaDB, and several helper containers simultaneously. Stalwart handles SMTP, IMAP, JMAP, spam filtering, and administration in a single process.

Deployment

Stalwart

Single container, minimal configuration:

services:
  stalwart:
    image: stalwartlabs/mail-server:v0.11.8
    container_name: stalwart
    volumes:
      - stalwart-data:/opt/stalwart-mail
    ports:
      - "25:25"
      - "465:465"
      - "993:993"
      - "4190:4190"
      - "443:443"
      - "8080:8080"
    restart: unless-stopped

volumes:
  stalwart-data:

mailcow

mailcow uses its own generate_config.sh script:

git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized
./generate_config.sh
docker compose pull
docker compose up -d

This starts 10+ containers. The generate_config.sh script handles most configuration through interactive prompts.

Maturity and Ecosystem

AspectStalwartmailcow
Production years~2 years~8 years
Community sizeGrowing (3K+ GitHub stars)Large (10K+ GitHub stars)
DocumentationGood (docs.stalw.art)Excellent (docs.mailcow.email)
Third-party guidesFewMany
Migration toolsImport from other serversImport from other servers
Commercial supportDual license (enterprise)Community only
Update frequencyVery activeActive

mailcow has years of production deployments, extensive community knowledge, and a proven track record. Stalwart is newer but iterating rapidly — it’s one of the most active mail server projects in the open-source ecosystem.

Use Cases

Choose Stalwart If…

  • You want minimal resource usage (VPS with 512 MB RAM)
  • You want JMAP support for modern email clients
  • You need clustering or high availability
  • You prefer a single binary over managing 10+ containers
  • You want built-in OAuth/OIDC provider
  • You’re comfortable being an early adopter of a newer project

Choose mailcow If…

  • You need groupware (calendar, contacts, shared mailboxes via SOGo)
  • You need ActiveSync for mobile devices
  • You want virus scanning (ClamAV) built in
  • You want battle-tested spam filtering (Rspamd)
  • You prefer a project with 8 years of production history
  • You need extensive community support and documentation
  • You want a polished admin UI with mailbox management

Final Verdict

For most self-hosted email deployments in 2026, mailcow remains the pragmatic choice. The SOGo groupware integration (calendar, contacts, ActiveSync) is a major practical advantage — most people replacing Gmail need calendar and contacts, not just email. mailcow’s mature ecosystem means you’ll find answers to almost any problem.

Stalwart is the technically superior architecture — a single efficient binary versus a fleet of containers — and its JMAP support positions it well for the future. If you only need email (no calendar/contacts), have limited server resources, or want to run a high-availability cluster, Stalwart is worth serious consideration. Watch this project — it may become the default recommendation within a year or two.

FAQ

Can I migrate from mailcow to Stalwart?

Yes, but it requires effort. Both use standard IMAP, so you can migrate mailboxes using imapsync or doveadm (from the mailcow Dovecot container). DNS records (MX, SPF, DKIM, DMARC) need to be regenerated with Stalwart’s keys. User accounts, aliases, and domain configurations must be recreated in Stalwart’s admin UI. SOGo calendar and contact data does not transfer — Stalwart has no groupware.

Does Stalwart support calendar and contacts?

No. Stalwart is purely an email server — SMTP, IMAP, JMAP, and POP3. It has no CalDAV or CardDAV support. If you need shared calendars and contacts, use mailcow (which includes SOGo) or pair Stalwart with a separate CalDAV/CardDAV server like Radicale or Baikal.

What is JMAP and why does it matter?

JMAP (JSON Meta Application Protocol) is a modern alternative to IMAP designed for efficient synchronization. It uses JSON over HTTP, supports push notifications, reduces round-trips for email sync, and handles bandwidth-constrained connections better than IMAP. Mail clients like Thunderbird are adding JMAP support. Stalwart supports JMAP natively; mailcow does not.

Can Stalwart run on a Raspberry Pi?

Yes. Stalwart’s single-binary architecture and ~50-100 MB RAM footprint make it one of the lightest self-hosted mail servers available. A Raspberry Pi 4 with 2 GB RAM can run Stalwart comfortably. mailcow requires x86_64 hardware and at least 4-6 GB RAM — it will not run on ARM at all.

Which has better spam filtering?

mailcow uses Rspamd, a mature and highly configurable spam filter with Bayesian learning, DKIM/SPF/DMARC checks, and a web UI for training. Stalwart has built-in spam filtering using Sieve rules, DNS blocklists, and reputation checks, but it is simpler and less configurable than Rspamd. For heavy email traffic or complex spam scenarios, mailcow’s Rspamd is more capable.

Is Stalwart production-ready?

Stalwart has been deployed in production by many users since its v0.5+ releases (2023). The project iterates rapidly and maintains stability across updates. That said, mailcow has 8 years of production history and a much larger deployment base. If your email server must be absolutely bulletproof from day one, mailcow is the safer bet. If you are comfortable with a newer project and want the architectural advantages, Stalwart is production-ready for most use cases.

Comments