4.5 KiB
4.5 KiB
title: Stalwart created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, email, rust, smtp, imap, jmap, auto-hebergement] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Email, https://github.com/stalwartlabs/mail-server]
📧 Stalwart
Serveur mail moderne tout-en-un écrit en Rust : SMTP, IMAP4, JMAP, CalDAV, CardDAV, anti-spam et gestion native en un seul binaire.
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | stalw.art |
| GitHub | stalwartlabs/mail-server |
| License | AGPL-3.0 |
| Langage | Rust |
| Étoiles GitHub | 13 086 ⭐ |
| Catégorie | cat-email |
| Mainteneur | Stalwart Labs GmbH |
📝 Description
Stalwart Mail Server est un projet relativement récent (lancement public 2023) qui ambitionne de réécrire l'intégralité de la stack mail en Rust, dans un seul binaire performant et sécurisé.
Composants intégrés :
- SMTP (réception + relais) avec support DSN, ETRN, SIZE extensions
- IMAP4 rev2 et rev4 + JMAP (protocole moderne替代 IMAP, plus rapide)
- CalDAV/CardDAV : calendrier et contacts
- Anti-spam : SpamAssassin compilé, Rspamd-like scoring, DNSBL, greylisting, DMARC
- Web admin native + webmail optionnel (Stalwart Webmail séparé)
- Sieve : filtrage côté serveur
- OAuth2 / OIDC : authentification moderne, support SSO
Forces :
- Performance : jusqu'à plusieurs millions de messages/jour sur un seul nœud
- Mémoire safe (Rust) → moins de failles de sécurité type use-after-free
- Multi-protocoles modernes : JMAP en plus d'IMAP, c'est rare
- Sauvegarde / restore natifs avec export/import complet
- Config en TOML claire et versionnable
Faiblesses :
- Maturité : plus jeune que Postfix+Dovecot (20+ ans d'age cumulé)
- Écosystème de plugins plus limité
- Documentation en cours d'enrichissement
- Communauté plus petite que mailcow/mailu
🚀 Installation
Docker (recommandé)
# docker-compose.yml
version: '3.8'
services:
stalwart:
image: stalwartlabs/mail-server:latest
container_name: stalwart
restart: unless-stopped
hostname: mail.example.com
volumes:
- ./data:/opt/stalwart-mail
ports:
- "25:25" # SMTP
- "587:587" # Submission
- "465:465" # SMTPS
- "993:993" # IMAPS
- "4190:4190" # Sieve
- "8080:8080" # HTTP admin
environment:
- HOSTNAME=mail.example.com
Le container initialise tout et crée un fichier config.toml à éditer.
Binaire natif
# Téléchargement direct du binaire
curl -sSL https://github.com/stalwartlabs/mail-server/releases/latest/download/stalwart-mail-linux-x86_64.tar.gz | tar xzf -
./stalwart-mail --config /etc/stalwart/config.toml
⚙️ Configuration
- DNS : MX, SPF, DKIM (génération automatique via la CLI), DMARC
- Reverse DNS : obligatoire pour ne pas être classé spam
- Base de données : SQLite par défaut, recommandé PostgreSQL pour la production
- Stockage : filesystem par défaut (maildir), support blob storage S3
- TLS : auto-certificats Let's Encrypt via ACME natif
- Admin : compte créé au premier démarrage, mot de passe à changer
🔗 Alternatives
- app-mailcow — Plus mature, Dockerisé, basé sur Postfix/Dovecot
- app-mailu — Plus simple, multi-conteneurs
- app-mox — Concurrent direct en Go, mono-binaire
🔒 Sécurité
- Mémoire safe par construction (Rust), réduit drastiquement les CVE mémoire
- OAuth2 / OIDC pour SSO avec Keycloak/Authentik
- Anti-spam intégré (SpamAssassin embarqué, pas de service séparé)
- Chiffrement at rest optionnel (Cryptomator-like)
- Rate limiting et quotas par utilisateur
- Logs structurés exportables vers Loki/Elasticsearch
📚 Ressources
Pages Liées
- cat-email — Toutes les apps Email du catalogue
- app-mailcow — Alternative plus mature et populaire
- app-mailu — Plus simple à prendre en main
- app-mox — Concurrent en Go
- securisation-home-lab — Sécuriser un serveur mail
- recettes-docker-compose — Templates Docker