128 lines
4.5 KiB
Markdown
128 lines
4.5 KiB
Markdown
---
|
|
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](https://stalw.art) |
|
|
| **GitHub** | [stalwartlabs/mail-server](https://github.com/stalwartlabs/mail-server) |
|
|
| **License** | AGPL-3.0 |
|
|
| **Langage** | Rust |
|
|
| **Étoiles GitHub** | 13 086 ⭐ |
|
|
| **Catégorie** | [[cat-email\|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é)
|
|
|
|
```yaml
|
|
# 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
|
|
|
|
```bash
|
|
# 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
|
|
|
|
1. **DNS** : MX, SPF, DKIM (génération automatique via la CLI), DMARC
|
|
2. **Reverse DNS** : obligatoire pour ne pas être classé spam
|
|
3. **Base de données** : SQLite par défaut, recommandé PostgreSQL pour la production
|
|
4. **Stockage** : filesystem par défaut (maildir), support blob storage S3
|
|
5. **TLS** : auto-certificats Let's Encrypt via ACME natif
|
|
6. **Admin** : compte créé au premier démarrage, mot de passe à changer
|
|
|
|
## 🔗 Alternatives
|
|
|
|
- **[app-mailcow](app-mailcow)** — Plus mature, Dockerisé, basé sur Postfix/Dovecot
|
|
- **[app-mailu](app-mailu)** — Plus simple, multi-conteneurs
|
|
- **[app-mox](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
|
|
|
|
- [Site officiel](https://stalw.art)
|
|
- [Documentation](https://stalw.art/docs/)
|
|
- [GitHub stalwartlabs/mail-server](https://github.com/stalwartlabs/mail-server)
|
|
- [Blog technique](https://stalw.art/blog/)
|
|
|
|
## 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
|