Aller au contenu

Comparaison des solutions de messagerie

Cette page alimente un ADR (Architecture Decision Record) pour le choix du serveur de messagerie auto-heberge. Méthodologie : voir ADR dans Documenter son code.

Grille de comparaison

Critère Stalwart Mail Server Maddy Postfix + Dovecot Mailu
Licence AGPL 3.0 GPL 3.0 Postfix: IBM PL / Dovecot: MIT MIT
Langage Rust Go C (Postfix) + C (Dovecot) Python + Nginx + Docker
Architecture All-in-one (binaire unique) All-in-one (binaire unique) Modulaire (2+ composants) All-in-one (conteneurs Docker)
Protocoles SMTP SMTP, LMTP, soumission SMTP, soumission SMTP, LMTP, soumission SMTP, soumission
Protocoles consultation IMAP, JMAP, POP3 IMAP IMAP, POP3 (Dovecot) IMAP, POP3
JMAP Natif (complet) Non Non Non
CalDAV/CardDAV Natif Non Non (ajout Radicale) Non (ajout Radicale)
Filtre anti-spam Integre (rspamd-compatible) rspamd integre Externe (rspamd, SpamAssassin) rspamd integre
DKIM/SPF/DMARC Natif Natif OpenDKIM + opendmarc (externe) rspamd (integre)
ARC Natif Non Via OpenARC Via rspamd
Sieve (filtres côté serveur) Natif (ManageSieve) Natif Dovecot Sieve (pigeonhole) Natif
Backend stockage RocksDB, S3, PostgreSQL, MySQL, SQLite SQLite, fichier Maildir, mdbox, sdbox Maildir (Docker volumes)
Backend authentification Interne, LDAP, OIDC, SQL Interne, LDAP PAM, LDAP, SQL (via Dovecot) Interne, LDAP
OIDC/OAuth2 Natif Non Non (via plugin Dovecot) Non
Interface web admin Oui (intégrée) Non (CLI) Non (ajout PostfixAdmin, etc.) Oui (intégrée)
Webmail integre Non (ajout externe) Non Non (ajout Roundcube, etc.) Roundcube ou SOGo integre
Empreinte mémoire ~50-100 Mo ~30-60 Mo ~200-400 Mo (ensemble) ~500-800 Mo (tous conteneurs)
Empreinte CPU Faible (Rust, async) Faible (Go) Moyenne (multi-processus) Moyenne (multi-conteneurs)
Clustering / HA Actif-actif natif Non Oui (Dovecot Director, etc.) Non officiel
API de gestion REST API complète CLI CLI (postconf, doveadm) REST API
Configuration TOML + Web UI + REST API TOML Multiples fichiers (main.cf, etc.) Docker Compose + Web UI
Maturité 3+ ans (croissance rapide) 4+ ans 25+ ans (référence historique) 8+ ans
Communauté Active (GitHub, Discord) Petite Tres large (historique) Moyenne (Docker users)

Analyse détaillée

Stalwart Mail Server — Recommande

Forces :

  • Architecture all-in-one : SMTP + IMAP + JMAP + anti-spam + DKIM + CalDAV dans un seul binaire Rust
  • Seule solution avec support JMAP complet (protocole moderne, optimal pour les clients mobiles)
  • CalDAV/CardDAV integre — pas besoin d'un serveur de calendrier separe
  • Authentification OIDC native — integration directe avec Keycloak
  • Backend de stockage flexible : RocksDB pour les petits déploiements, PostgreSQL/S3 pour le scale
  • Clustering actif-actif natif avec stockage partage
  • Interface web d'administration intégrée
  • Empreinte mémoire et CPU remarquablement faible (Rust, async I/O)
  • Filtres Sieve avec ManageSieve pour le filtrage côté serveur

Faiblesses :

  • Projet plus jeune que Postfix+Dovecot (mais en croissance tres rapide)
  • Moins de documentation communautaire que l'ecosysteme Postfix
  • AGPL 3.0 — contrainte pour l'integration dans des produits proprietaires (mais pas pour l'auto-hebergement)
  • Pas de webmail integre (ajout de Roundcube ou Stalwart Webmail en complement)

Verdict : choix par defaut pour un nouveau déploiement de messagerie auto-hebergee. La combinaison JMAP + OIDC + CalDAV + clustering dans un seul binaire en fait la solution la plus complète et la plus simple a opérer.

Maddy — Minimaliste Go

Forces :

  • Binaire unique en Go, tres simple a déployer
  • Configuration TOML lisible et concise
  • Empreinte mémoire la plus faible de toutes les solutions
  • Bonne integration rspamd

Faiblesses :

  • Pas de JMAP, pas de CalDAV, pas de POP3
  • Pas d'OIDC — authentification LDAP ou interne uniquement
  • Pas d'interface web d'administration
  • Pas de clustering natif
  • Communauté restreinte, développement par un mainteneur principal

Verdict : excellent choix pour un serveur personnel ou un petit domaine avec peu d'utilisateurs. Trop limite pour un usage enterprise.

Postfix + Dovecot — Référence historique

Forces :

  • Référence absolue du monde email depuis 25+ ans
  • Documentation exhaustive, immense base de connaissances
  • Flexibilite maximale : chaque composant peut etre remplace ou personnalise
  • Ecosysteme de plugins tres riche (Sieve, LDAP, SQL, ACL, quotas)
  • Scalabilité prouvee (déploiements de millions de boites)
  • Licence permissive (IBM PL + MIT)

Faiblesses :

  • Complexité d'installation et de configuration (dizaines de fichiers, multiples composants)
  • Pas de JMAP natif
  • Anti-spam, DKIM, DMARC necessitent des composants externes (rspamd, OpenDKIM, opendmarc)
  • Pas d'interface d'administration (PostfixAdmin, iRedMail en complement)
  • Pas d'OIDC natif
  • Empreinte mémoire plus elevee (multi-processus)

Verdict : pertinent pour les équipes ayant une expertise Postfix existante, ou quand la flexibilite modulaire est un requis dur (backends de stockage exotiques, architectures multi-sites complexes). Planifier une évaluation de Stalwart pour les nouveaux déploiements.

Mailu — Docker-first

Forces :

  • Déploiement Docker Compose clef en main (SMTP, IMAP, webmail, anti-spam, admin)
  • Interface web d'administration intuitive
  • Webmail integre (Roundcube ou SOGo au choix)
  • Configuration via variables d'environnement (12-factor)
  • Bonne documentation pour les debutants

Faiblesses :

  • Dependance forte a Docker (pas de déploiement baremetal)
  • Empreinte mémoire elevee (multiple conteneurs)
  • Pas de JMAP, pas de CalDAV integre
  • Pas d'OIDC natif
  • Clustering non officiel (docker swarm communautaire)
  • Performance limitee pour les gros volumes (architecture multi-conteneurs)

Verdict : excellent choix pour un déploiement rapide avec webmail integre. Pertinent pour les équipes qui veulent une solution tout-en-un Docker sans configuration avancee. Limite pour les déploiements enterprise a grande échelle.

Matrice de decision

graph TD
    Besoin["Besoin principal"]
    Besoin --> Moderne["Moderne /<br/>All-in-one"]
    Besoin --> Flex["Maximum<br/>flexibilite"]
    Besoin --> Docker["Docker<br/>tout-en-un"]
    Moderne --> Stalwart["Stalwart<br/>JMAP, OIDC, CalDAV,<br/>clustering natif"]
    Flex --> Postfix["Postfix+Dovecot"]
    Docker --> Mailu
Contexte Solution recommandee
Nouveau déploiement, DSI moderne Stalwart (all-in-one, JMAP, OIDC)
Expertise Postfix existante, architecture complexe Postfix+Dovecot (flexibilite max)
Déploiement Docker rapide avec webmail Mailu (Docker Compose clef en main)
Serveur personnel, minimalisme Maddy (Go, minimal, leger)
Requis JMAP ou CalDAV natif Stalwart (seule solution)
Requis OIDC / SSO Keycloak Stalwart (OIDC natif)

Decision recommandee

Pour une DSI orientee souverainete avec Keycloak dans le paysage IAM :

Decision : Stalwart Mail Server comme serveur de messagerie auto-heberge, déployé avec Podman, avec authentification OIDC via Keycloak et stockage RocksDB (ou PostgreSQL pour les déploiements > 500 boites).

Justification : architecture all-in-one (SMTP + IMAP + JMAP + CalDAV + anti-spam + DKIM), authentification OIDC native, clustering actif-actif, empreinte faible (Rust), et support JMAP pour les clients modernes. Stalwart est la seule solution qui couvre l'ensemble des besoins dans un binaire unique.

Migration depuis Postfix+Dovecot

Si un Postfix+Dovecot existant est en place, la migration peut etre progressive : Stalwart peut utiliser un backend LDAP commun avec Dovecot, et l'outil imap-sync permet de migrer les boites aux lettres sans interruption. Voir Bonnes pratiques — Migration.