Back openDesk Edu for a sovereign, open-source education — every vote counts.
Vote nowSave products you love by clicking the heart icon.
A thorough evaluation of SOGo 6, the Next.js/Flask groupware suite, deployed with Stalwart mail server and OpenLDAP via Docker Compose. Covers architecture, feature implementation, SSO, MFA, and >1,800 passing tests.
TL;DR: Wir haben Stalwart v0.16.6 und Dovecot 2.4 CE als Mailserver-Backends für eine große Multi-Tenant-Organisation auf Kubernetes evaluiert. Stalwart gewinnt bei der FTS-Performance (3-13× schneller), der Speichereffizienz (2,4× weniger), der Protokollvielfalt (11 vs. 3) und der nativen Hochverfügbarkeit (HA). Dovecot gewinnt bei der reinen IMAP-Geschwindigkeit (63ms vs. 98ms bei Basisoperationen) und der Reife des Ökosystems.
Die Entscheidung zwischen Dovecot und Stalwart ist ein Abwägen zwischen bewährter Stabilität und moderner Architektur. Dovecot ist seit zwei Jahrzehnten der IMAP-Standard, wird auf Millionen von Servern eingesetzt und weist ein vorhersehbares Verhalten auf. Stalwart ist eine Rust-basierte All-in-One-Lösung, die den traditionellen Stack aus Postfix + Dovecot + Spamfilter durch ein einziges Binary ersetzt.
Die Organisation betreibt Dovecot 2.3 CE in der Produktion für zehntausende Benutzer über mehrere Cluster hinweg. In Dovecot 2.4 CE wurden zwei kritische HA-Features entfernt – Director (User-Routing) und Replicator (Mailbox-Synchronisation) –, die in nicht unterstützte Community-Plugins verschoben wurden. Wir mussten prüfen, ob Stalwart, ein moderner Rust-basierter Mailserver mit nativem Clustering, als Ersatz dienen kann.
Beide Systeme wurden auf einem einzigen Kubernetes-Cluster mit Standard-Persistent-Storage-Classes bereitgestellt. Jeder Stack erhielt seinen eigenen Namespace mit identischen Ressourcen.
| Komponente | Stalwart Stack | Dovecot Stack |
|---|---|---|
| Mailserver | Stalwart v0.16.6 (single binary) | Dovecot 2.4.4 CE + Postfix 3.1 |
| DataStore | PostgreSQL 16 | MySQL 8.0 (Director backend) |
| Blob storage | MinIO S3 | Shared filesystem (Maildir) |
| TLS | cert-manager self-signed CA | cert-manager self-signed CA |
| Konfiguration | JMAP API zur Laufzeit | ConfigMap + env vars bei Deployment |
Dovecot folgt dem Separation-of-Concerns-Modell: Postfix für die SMTP-Zustellung, Dovecot für den IMAP/POP3-Zugriff und unabhängige Spamfilter wie SpamAssassin oder Rspamd. Diese Modularität ermöglicht es, Komponenten unabhängig zu ersetzen, erfordert jedoch die Koordination zwischen sechs verschiedenen Prozessen. Konfiguration bedeutet das Bearbeiten separater Dateien in /etc/dovecot/ und /etc/postfix/, die Fehlersuche erfolgt über verstreute Logs und erfordert das Verständnis darüber, wie jede Komponente mit den anderen kommuniziert.
Stalwart konsolidiert SMTP, IMAP, POP3, JMAP, CalDAV, CardDAV, WebDAV, Spamfilterung und eine Web-Admin-Oberfläche in einem einzigen Rust-Binary. Die Architektur ist bewusst monolithisch: Wenn der E-Mail-Fluss stoppt, prüft man einen Prozess, nicht sechs. Dies reduziert die operative Komplexität, bindet einen jedoch an das Stalwart-Ökosystem.
Gleiches Protokoll, gleiche Befehle, gleiche Messmethodik.
| Operation | Stalwart (IMAP) | Dovecot (IMAP) | Gewinner |
|---|---|---|---|
| Login + LIST + STATUS | 98ms | 71ms | Dovecot (28% schneller) |
| Login + SELECT + FETCH | 98ms | 63ms | Dovecot (36% schneller) |
| FTS SEARCH TEXT | 97ms | 314ms | Stalwart (3,2× schneller) |
| SELECT bei 10k Mails | — | 57-83ms | Stabil |
Dovecot's über 20 Jahre IMAP-Optimierung zeigen sich bei den Basisoperationen. Die Maildir-Handhabung und das Connection-Management sind fein abgestimmt. Die IMAP-Implementierung von Stalwart ist konkurrenzfähig, aber noch nicht so optimiert.
Die native JMAP-API von Stalwart ist ein grundlegend anderer Ansatz als IMAP. Während IMAP mehrere Round-trips erfordert (LOGIN → SELECT → FETCH), bündelt JMAP alles in einer einzigen Anfrage.
| Operation | Stalwart JMAP | Stalwart IMAP | Dovecot IMAP |
|---|---|---|---|
| Einfache Anfrage | < 1ms | 98ms | 71ms |
| FTS Suche | 24ms | 97ms | 314ms |
JMAP ist 120-170× schneller als IMAP bei äquivalenten Operationen. Dies ist kein Geschwindigkeitsvorteil des Servers, sondern ein Vorteil der Protokollarchitektur. JMAP eliminiert den Round-trip-Overhead, der IMAP seit Jahrzehnten plagt.
Hier wird die Lücke am dramatischsten:
| System | Protokoll | Latenz | Engine |
|---|---|---|---|
| Stalwart | JMAP | 24ms | Native Rust FTS |
| Stalwart | IMAP | 97ms | Native Rust FTS |
| Dovecot (20 Mails) | IMAP | 314ms | flatcurve (Xapian) |
| Dovecot (10.000 Mails) | IMAP | 316ms (warm), 1.412ms (cold) | flatcurve (Xapian) |
Die FTS von Stalwart ist 3-13× schneller, unabhängig vom Protokoll oder der Mailbox-Größe. Die flatcurve-FTS von Dovecot ist bei großen Mengen stabil (warme Abfragen verschlechtern sich nicht), aber die Basisgeschwindigkeit ist deutlich langsamer.
| Metrik | Stalwart | Dovecot |
|---|---|---|
| Gesamtspeicher (idle) | 185 MiB | 441 MiB |
| Gesamt-CPU (idle) | ~7m | ~18m |
| Container | 3 (Stalwart + PG + MinIO) | 3 (Dovecot + MySQL + Postfix) |
| YAML-Konfiguration | 267 Zeilen | 348 Zeilen |
Stalwart verbraucht 2,4× weniger Speicher, obwohl es mehr Protokolle bündelt. MySQL ist mit 413 MiB der größte Einzelverbraucher im Dovecot-Stack – mehr als der gesamte Stalwart-Stack zusammen.
| Pfad | Latenz | Notizen |
|---|---|---|
| Stalwart Port 25 | ~5s | Greylisting + DNS-Checks (Security-Feature) |
| Stalwart JMAP Submission | ~50ms | Authentifiziert, umgeht SMTP-Checks |
| Postfix → LMTP → Dovecot | ~63ms | Kein Greylisting in Eval-Konfiguration |
Die 5-sekündige Verzögerung an Stalwarts Port 25 ist ein beabsichtigtes Anti-Spam-Verhalten. Die authentifizierte Übermittlung (JMAP oder SMTP-AUTH) erfolgt in ~50ms.
Dovecot skaliert horizontal über separate IMAP-Backend-Prozesse. Jedes Backend bedient eine Gruppe von Clients, und es werden weitere Backends hinzugefügt, wenn die Nebenläufigkeit steigt. Das theoretische Maximum ist client_limit * process_limit, üblicherweise konfiguriert für 40k-100k Verbindungen pro Server. In der Praxis wurde Dovecot mit Proxy-Architekturen auf 10 Millionen IMAP-Sessions auf einem einzigen Server getestet, was jedoch mehrere IP-Adressen erfordert, um eine TCP-Port-Erschöpfung zu vermeiden.
Stalwart skaliert anders. Es unterstützt Clustering nativ mittels Peer-to-Peer-Koordination oder externen Koordinatoren (Kafka, NATS, Redis). Jeder Knoten in einem Stalwart-Cluster kann jedes Protokoll bedienen – IMAP, SMTP, JMAP oder WebDAV –, ohne dass separate Load Balancer benötigt werden. Die verteilte SMTP-Queue ermöglicht eine gleichzeitige Verarbeitung über mehrere Instanzen hinweg. Dies vereinfacht große Deployments, da man einfach Knoten hinzufügt und die Kapazität automatisch wächst, erfordert jedoch die Koordination des Zustands über die Server hinweg.
Für die horizontale Skalierung sind beide Optionen viable. Das Multi-Prozess-Modell von Dovecot ist in tausenden Deployments kampferprobt. Das integrierte Clustering von Stalwart ist neuer, aber von Tag eins an speziell für großflächige Deployments konzipiert.
| Feature | Stalwart | Dovecot 2.4 CE |
|---|---|---|
| Natives Clustering | ✅ Coordinator-less | ❌ In CE entfernt |
| User-Routing | ✅ Integriert | ❌ Lua-Skript (nicht unterstützt) |
| Mail-Sync | ✅ FDB/PostgreSQL | ❌ Wormhole-Plugin (Community) |
| SMTP-Queue HA | ✅ Verteilt | ❌ Single-Queue |
| Load Balancing | ✅ Native PROXY | ⚠️ Externer LB erforderlich |
| Skalierbarkeit | Horizontal | Vertikal (Single Node) |
Dovecot erreicht Hochverfügbarkeit durch Proxy-basierte Architekturen. Deployments betreiben typischerweise einen Pool von IMAP-Proxies, die die Last auf Backend-Storage-Server verteilen. Wenn ein Backend ausfällt, leitet die transparente Proxy-Schicht den Traffic um. Postfix nimmt Mails weiterhin an und stellt sie in die Queue, selbst wenn Dovecot down ist, was eine Trennung der Queue ermöglicht.
Die Hochverfügbarkeit von Stalwart ist integriert. Das Clustering-Modell erlaubt es jedem Knoten, jedes Protokoll zu bedienen, und die verteilte Zustandsreplikation handhabt Ausfälle automatisch. Die Fehlertoleranz ist partitionstolerant; treten also Netzwerkpartitionen innerhalb eines Clusters auf, arbeitet das System mit minimalem manuellem Eingriff weiter. Externe DNS- und TLS-Infrastruktur sind weiterhin erforderlich (Stalwart handhabt ACME nativ), aber die Mail-Schicht selbst ist selbstkoordinierend.
Der Trade-off liegt in der operativen Kontrolle. Bei Dovecot entwerfen und warten Sie die HA-Architektur selbst. Bei Stalwart konfigurieren Sie die Clustering-Parameter und das System übernimmt die komplexe Koordination. Dies ist für die meisten Teams einfacher, bedeutet aber, dass man sich auf Stalwarts Implementierung verteilter Systeme verlassen muss, sofern man keine Enterprise-Lizenz erwirbt, um den Quellcode zu prüfen.
| Feature | Stalwart | Dovecot 2.4 CE |
|---|---|---|
| SMTP | ✅ Integrierter MTA | ❌ Benötigt Postfix |
| IMAP4rev2 | ✅ | ✅ |
| JMAP | ✅ Nativ | ❌ (Plugin-basiert) |
| POP3 | ✅ | ✅ |
| CalDAV | ✅ Integriert | ❌ Benötigt Radicale |
| CardDAV | ✅ Integriert | ❌ Benötigt Radicale |
| WebDAV | ✅ Integriert | ❌ Benötigt Radicale |
| ManageSieve | ✅ | ✅ |
| Web Admin UI | ✅ Port 8080 | ❌ |
Die JMAP-Unterstützung von Dovecot erfolgt über das imap-jmap-Plugin, welches JMAP auf das IMAP-Protokoll aufsetzt. Dies funktioniert zwar, verursacht jedoch einen Translation-Overhead. Stalwart implementiert JMAP nativ, was die dramatischen Performance-Vorteile bietet, die in den obigen Benchmarks gezeigt werden.
Für traditionelle IMAP-Clients – Outlook, Thunderbird, Apple Mail – arbeiten beide Server identisch. Der Unterschied zeigt sich bei modernen Clients, die JMAP bevorzugen. Fastmail, ProtonMail und neuere Desktop-Clients können JMAP nutzen, um effizienter zu synchronisieren als mit IMAP, insbesondere bei Verbindungen mit hoher Latenz.
| Aspekt | Stalwart | Dovecot |
|---|---|---|
| Konfigurationsformat | JSON via JMAP API (Hot Reload) | Konfigurationsdateien (Restart erforderlich) |
| CLI | stalwart-cli (begrenzt) | doveadm (umfangreich) |
| Backup | DB-Dump + S3-Snapshot | Dateisystem (maildir + DB) |
| Metriken | Integrierter Prometheus-Endpoint | Event-Exporter (Port 9090) |
| Volltextsuche | Nativ, integriert | flatcurve-Plugin (integriert) |
Eine Migration von Dovecot zu Stalwart ist kein einfacher "Drop-in"-Ersatz. Die wichtigsten Unterschiede sind:
Konfigurationsmodell: Dovecot hat eine steile Lernkurve mit mehreren Konfigurationsdateien (dovecot.conf, dovecot-sql.conf.ext, conf.d/ Verzeichnisse, pro-Benutzer Sieve-Skripte). Stalwart verwendet eine einzige Konfigurationsdatei und eine Web-Admin-Oberfläche für die meisten Operationen. Man kann Konfigurationsdateien zwar immer noch direkt bearbeiten, aber die Web-UI fördert einen GUI-First-Ansatz.
Authentifizierung: Dovecot verwendet separate passdb- und userdb-Backends mit Caching via auth_cache_size. Stalwart unterstützt LDAP, SQL, interne Datenbanken, OIDC, OAuth2 und API-Keys, wobei dieselbe Authentifizierungsschicht über alle Protokolle hinweg genutzt wird. Wenn Sie von Dovecots SQL-Auth zu Stalwarts interner Auth wechseln, müssen die Konten exportiert und re-importiert werden.
Mailbox-Migration: Beide unterstützen Maildir, was die Datenmigration vereinfacht. Kopieren Sie die Maildir-Hierarchie direkt und führen Sie anschließend eine Reindizierung durch. Da Stalwart mehrere Backend-Optionen bietet (RocksDB, FoundationDB, PostgreSQL), möchten Sie eventuell von dateisystembasierten Mailboxen zu einer indizierten Datenbank migrieren, was jedoch optional ist.
Sieve-Regeln: Beide unterstützen RFC 5228 ManageSieve. Stalwart ergänzt dies durch JMAP für Sieve-Skripte; dies ist eine Draft-Erweiterung, erlaubt es Benutzern jedoch, Filterregeln über moderne Clients zu bearbeiten. Die Sieve-Implementierung von Dovecot ist reifer und wurde über mehrere Releases hinweg umfassend feldgetestet.
Spam-Filterung: Dovecot integriert sich über das Milter-Protokoll mit SpamAssassin oder Rspamd. Stalwart enthält einen integrierten Spam- und Phishing-Filter mit statistischer Klassifizierung, DNSBL-Prüfung und optionaler LLM-gestützter Analyse. Man kann den integrierten Filter von Stalwart deaktivieren und Rspamd via Milter nutzen, betreibt dann jedoch wieder einen separaten Spam-Filter-Prozess.
Die disruptivste Änderung ist architektonischer Natur: Die Trennung bei Dovecot ermöglicht es, Komponenten unabhängig voneinander zu aktualisieren. Wenn Stalwart einen Bug hat, der IMAP-Abstürze verursacht, steht der gesamte Mailserver still. Wenn bei Dovecot IMAP abstürzt, funktionieren SMTP und die Spam-Filterung weiter. High-Availability-Setups mildern dies ab, aber der Punkt bleibt: Modularität bietet Fehlerisolierung.
Dovecot ist seit den frühen 2000ern der De-facto-Standard. Die Community ist groß und ausgereift, mit einer umfangreichen Dokumentation, die Edge-Cases, Konfigurationsmuster und Migrationsleitfäden abdeckt. Wenn Sie auf ein seltsames Problem mit Dovecot stoßen, hat wahrscheinlich jemand in den letzten zehn Jahren die Lösung in den Mailinglisten-Archiven oder in einem Forenpost dokumentiert. Installationsanleitungen existieren für jede Unix-ähnliche Distribution.
Die Community von Stalwart wächst, ist aber kleiner. Es gibt hunderte Mitwirkende auf GitHub, eine aktive Präsenz auf Discord und Reddit sowie eine sich schnell verbessernde Dokumentationsseite. Der Release-Zyklus ist wesentlich schneller als bei Dovecot (wöchentliche Updates gegenüber Major-Releases alle 1-2 Jahre). Wenn Sie jedoch auf ein Nischenproblem in Stalwart stoßen, sind Sie möglicherweise auf sich allein gestellt, während das Team die Sache untersucht. Die Komplexität von Rust bedeutet, dass weniger Personen Bugs patchen können, selbst wenn sie Zugriff auf den Quellcode haben.
Für kommerzielle Deployments bieten beide Ansätze Support-Modelle an. Dovecot Pro (kommerzielles Angebot) bietet Priority-Support und Enterprise-Features. Stalwart Labs verkauft Enterprise-Lizenzen auf Basis eines Abonnements pro Mailbox, inklusive Premium-Support-Optionen. Wenn Sie garantierte SLAs oder rechtliche Absicherungen benötigen, stehen beide Optionen zur Verfügung.
Dovecot ist die richtige Wahl, wenn:
Die Reife von Dovecot bedeutet auch, dass die Konfiguration stabil ist. Das dovecot.conf-Format entwickelt sich langsam, Major-Releases werden sorgfältig getestet und Abwärtskompatibilität wird ernst genommen. Wenn Sie Dovecot alle 2-3 Jahre aktualisieren, werden Sie nicht feststellen, dass Ihre Konfiguration durch inkompatible Änderungen zerstört wurde.
Stalwart ist die richtige Wahl, wenn:
Der schnelle Entwicklungszyklus von Stalwart ist ebenfalls ein Vorteil. Features wie natives JMAP, integrierte TLS-Zertifikatsbereitstellung und KI-gestützte Spam-Filterung erscheinen Wochen oder Monate früher als im traditionellen Stack. Wenn es Ihnen wichtig ist, bei E-Mail-Protokollen auf dem neuesten Stand zu bleiben, liefert Stalwart Innovationen schneller aus.
Für eine große Multi-Tenant-Umgebung, die HA, CalDAV/CardDAV und modernen API-Zugriff erfordert, ist Stalwart der stärkere Kandidat. Sein natives HA, die breitere Protokollunterstützung, die signifikant schnellere FTS (3-13×) und der geringere Ressourcenverbrauch (2,4× weniger Speicher) überwiegen die Vorteile von Dovecot bei der reinen IMAP-Geschwindigkeit und der Reife des Ökosystems.
Für bestehende Dovecot-Installationen fällt die Kalkulation anders aus. Eine Migration erfordert eine Neugestaltung Ihrer Mail-Infrastruktur, das Erlernen eines neuen Konfigurationsmodells und die Akzeptanz von AGPL-3.0 oder Lizenzkosten. Dovecot funktioniert. Eine Migration führt Risiken ein, ohne einen klaren Nutzen zu bieten, es sei denn, Sie benötigen spezifische Stalwart-Features, die Dovecot nicht über Plugins oder Add-ons bereitstellen kann.
Das kritische Risiko ist das CPU-Kompatibilitätsproblem von FoundationDB — stellen Sie sicher, dass Ihre K8s-Nodes AVX-Instruktionen unterstützen, bevor Sie sich für ein Stalwart-HA-Deployment entscheiden.
Hybrid-Ansätze sind möglich — betreiben Sie Dovecot als IMAP mit Postfix für SMTP und fügen Sie den JMAP-Server von Stalwart hinzu, um moderne Synchronisation zu ermöglichen. Dies hebelt jedoch das Argument der Einfachheit aus und kombiniert die operative Komplexität beider Stacks.
Die Abwägung kommt letztendlich auf die Expertise Ihres Teams und Ihre operative Toleranz an. Wenn Sie tiefes Dovecot-Wissen und ein funktionierendes Deployment haben, bleiben Sie dabei. Wenn Sie von Grund auf neu bauen oder Ihr Team moderne Toolings gegenüber etablierten Mustern bevorzugt, repräsentiert Stalwart die Zukunft der selbstgehosteten E-Mail-Infrastruktur.
Evaluierung durchgeführt im Mai 2026 auf einem Kubernetes-Cluster mit Standard-Persistent-Storage, cert-manager TLS und MinIO S3. Alle Benchmarks sind sequenzielle Einzelbenutzer-Tests von localhost, sofern nicht anders angegeben.