Mail-Dev : un serveur SMTP local en Tauri & Rust pour tester vos emails
Mail-Dev est un serveur SMTP local cross-platform (Tauri v2 + Vue 3 + Rust) pour inspecter, forwarder et scorer vos emails en développement. Découvrez ce fork moderne de samirdjelal/mail-dev et les alternatives Docker ou en ligne (Mailpit, MailHog, Mailtrap).
🚀 Mail-Dev est un serveur SMTP local cross-platform que je viens de faire évoluer en profondeur : il intercepte les emails envoyés par vos applications en développement, les affiche dans une interface moderne et vous permet de les inspecter, de les forwarder et même de les scorer avec SpamAssassin.
Dans cet article, je vous présente le projet, son histoire (c'est un fork très actif), et je compare rapidement avec les solutions existantes — qu'elles soient Docker, auto-hébergées ou en ligne.
📬 Le problème : tester ses emails en développement
Quand on développe une application qui envoie des emails (confirmation d'inscription, reset de mot de passe, factures…), on ne veut jamais envoyer de vrais emails depuis l'environnement de dev. Les risques : polluer de vraies boîtes mail, se faire blacklister, saturer un service transactionnel payant, ou simplement ne pas pouvoir vérifier le rendu HTML des emails.
La solution classique : un serveur SMTP local qui accepte tout, ne délivre rien, et expose une interface pour consulter les messages reçus. C'est exactement ce que fait Mail-Dev — comme Mailpit ou MailHog — mais sous la forme d'une application de bureau.
🖥️ Mail-Dev : le projet
Mail-Dev est une application desktop construite avec Tauri v2 (Rust), Vue 3 et Pinia. Elle tourne sur Windows, macOS et Linux, avec des installateurs natifs (NSIS, DMG, DEB/AppImage).
Fonctionnalités clés
- ⚙️ Port SMTP personnalisable + authentification
AUTH PLAIN/LOGIN - 📎 Pièces jointes (stockage sur disque ou BLOB)
- 🔀 Forwarding d'emails vers une vraie boîte, avec timeouts et feedback d'erreur
- 🛡️ Score SpamAssassin intégré (toggle dans les réglages)
- 🔍 Recherche et filtres dans la mailbox
- 🌗 Dark mode (système / clair / sombre)
- 🌍 Internationalisation français / anglais, switchable depuis la sidebar
- 💾 Persistance SQLite (
maildev.db) : mails et réglages restaurés au lancement - 🔄 Auto-update via GitHub Releases
- 🧪 Tests : Rust (
cargo test) + frontend (Vitest) + CI complète (fmt, clippy, build)
Le tout est open-source (MIT) : github.com/STIFLEUR390/mail-dev — avec des releases prêtes à installer.
Pourquoi Tauri ?
Comme je le détaillais dans mon comparatif Tauri vs Electron, Tauri offre des binaires beaucoup plus légers (quelques Mo vs ~85 Mo pour Electron) et une empreinte mémoire réduite. Pour un outil de dev qui tourne en permanence en arrière-plan, c'est un vrai avantage — d'autant que la partie SMTP (le serveur) est écrite en Rust, performante et sans panique grâce à un parsing robuste.
📜 D'où vient le projet : le repo source
Mail-Dev est un fork de samirdjelal/mail-dev (363 ⭐), créé en 2021 et abandonné depuis mars 2023. Le projet d'origine était une application React + Tauri v1 qui posait les bases : port SMTP custom, snippets de configuration par framework, pièces jointes, forwarding, notifications.
Mon fork est allé beaucoup plus loin — il est 27 commits en avance sur la source, avec une réécriture complète :
| 🔵 Source (samirdjelal) | 🟢 Fork (STIFLEUR390) |
|---|---|
| React + Redux | Vue 3 + Pinia |
| Tauri v1 | Tauri v2 (plugins, capabilities) |
| npm + CRA | Bun + Vite |
| Pas de tests, pas de CI | Tests Rust + Vitest, CI complète |
| Dernière version 0.7.1 (2023) | 0.11.0 (2026) |
Autrement dit : même nom, même concept, mais un code 100 % modernisé — persistance SQLite, recherche, i18n, dark mode, SpamAssassin, auto-update… tout ce qui manquait à l'original.
⚖️ Les alternatives : Docker et services en ligne
Mail-Dev n'est pas seul sur ce créneau. Voici les principales alternatives, avec leur statut vérifié en août 2026 :
🐳 Auto-hébergées (Docker / binaires)
| Outil | Stack | Activité | Stars | Atouts |
|---|---|---|---|---|
| Mailpit | Go | 🟢 Très active (juil. 2026) | ~10k | Binaire unique, API REST, UI moderne, SpamAssassin intégré, Webhooks |
| MailHog | Go | 🔴 Quasi inactif (2024) | ~16k | Simple, très connu, image Docker historique |
| maildev | Node.js/TS | 🟢 Active (juil. 2026) | ~6k | Web UI + API, npm/Docker, léger |
Ces outils s'utilisent typiquement via Docker : docker run -p 1025:1025 -p 8025:8025 axllent/mailpit — et on pointe la config SMTP de son app (Laravel, Node, Python…) vers localhost:1025.
☁️ Services en ligne (SaaS)
| Service | Idéal pour | Modèle |
|---|---|---|
| Mailtrap | Inbox de test + aperçu HTML, API de délivrabilité | Freemium, payant au volume |
| Mailosaur | Tests d'emails automatisés (CI, assertions) | Payant, essai gratuit |
| MailSlurp | Boîtes jetables + API pour tests e2e | Payant, essai gratuit |
🎯 Quand choisir quoi ?
- 🧑💻 Dev local solo, interface desktop → Mail-Dev (zéro Docker, zéro dépendance, double-clic et c'est prêt)
- 🐳 Stack conteneurisée / CI → Mailpit (actif, API REST, webhooks) ou MailHog (legacy mais fiable)
- 📦 Environnement Node pur → maildev (npm)
- ☁️ Équipe / tests e2e avancés → Mailtrap, Mailosaur ou MailSlurp (services managés, assertions, délivrabilité)
💡 Conclusion
Si vous en avez marre de voir des emails de test partir dans la nature — ou de deviner à quoi ressemble votre template HTML — installez un serveur SMTP local. Mail-Dev vous offre ça en une application desktop moderne, légère (Tauri) et open-source, avec le score SpamAssassin en bonus. 🎯
👉 Repo GitHub · Télécharger · Feuille de route
Vous utilisez MailHog, Mailpit ou un service en ligne ? Dites-moi en commentaire ce qui vous manque — c'est ce qui guide la roadmap de Mail-Dev ! 💬