---
title: Mailpit
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, development, smtp, email, testing]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Development, https://github.com/axllent/mailpit]
---

# 💻 Mailpit

> **Serveur SMTP de test « catch-all » pour le développement** : intercepte les emails envoyés par vos apps en local, vous les visualise dans une UI web, sans jamais les envoyer au destinataire réel.

## 📋 Informations Générales

| Champ | Valeur |
| :--- | :--- |
| **Site web** | [mailpit.axllent.org](https://mailpit.axllent.org/) |
| **GitHub** | [axllent/mailpit](https://github.com/axllent/mailpit) |
| **License** | MIT |
| **Langage** | Go |
| **Étoiles GitHub** | 9 597 ⭐ |
| **Catégorie** | [[cat-development\|Development]] |
| **Note** | 100% gratuit, pas d'édition payante, binaire unique léger |

## 📝 Description

**Mailpit** est un **serveur SMTP de test** pour le développement local. Il se comporte comme un vrai serveur SMTP, mais **intercepte tous les emails** au lieu de les relayer. Les développeurs peuvent ensuite les consulter via une **UI web intégrée**, comparable à Mailtrap ou MailHog, mais :

- **Léger** : un seul binaire Go, ~10 Mo
- **Plus rapide** que MailHog (écrit en Go, pas en Go+JS)
- **UI moderne** : SPA, dark mode, aperçus HTML
- **API REST** pour intégration tests (vérifier qu'un mail a bien été reçu)
- **Multi-domaines** et **multi-comptes** (capture tout par défaut)
- **Support SMTP + HTTP** pour l'envoi depuis les apps
- **TLS, PLAIN, CRAM-MD5, LOGIN** : toutes les auth SMTP

**Cas d'usage typiques** :

- Développer en local une app qui envoie des emails (sign-up, notifications, factures)
- Tester les templates d'emails (HTML/CSS responsive)
- Vérifier qu'un email de reset password part bien (sans spammer les vrais utilisateurs)
- Tests d'intégration automatisés (API pour vérifier le contenu)
- **Binaire unique** : idéal pour CI/CD et dev local

**Différence avec MailHog** : Mailpit a une **UI plus moderne**, des **performances supérieures** (Go natif, pas de daemon séparé), une **API HTTP** native et le support de **l'auth SMTP**.

## 🚀 Installation

### Via Docker Compose (recommandé)

```yaml
# docker-compose.yml
version: '3.8'
services:
  mailpit:
    image: axllent/mailpit:latest
    container_name: mailpit
    restart: unless-stopped
    ports:
      - "1025:1025"  # SMTP
      - "8025:8025"  # UI web
    environment:
      - MP_MAX_MESSAGES=5000
      - MP_SMTP_AUTH_ACCEPT_ANY=1
      - MP_SMTP_AUTH_ALLOW_INSECURE=1
    volumes:
      - mailpit-data:/data
    networks:
      - proxy

volumes:
  mailpit-data:

networks:
  proxy:
    external: true
```

### Binaire standalone (rapide en local)

```bash
# macOS
brew install mailpit

# Linux
curl -L https://github.com/axllent/mailpit/releases/latest/download/mailpit-linux-amd64.tar.gz | tar xz
sudo mv mailpit /usr/local/bin/

# Lancer
mailpit
# UI: http://localhost:8025
# SMTP: localhost:1025
```

### Configuration de votre app

Exemple avec `.env` pour une app Laravel / Django / Node.js :

```bash
MAIL_MAILER=smtp
MAIL_HOST=localhost        # ou `mailpit` si dans Docker
MAIL_PORT=1025
MAIL_USERNAME=***  # (optionnel, vide par défaut)
MAIL_PASSWORD=***  # (optionnel, vide par défaut)
MAIL_ENCRYPTION=null
```

## ⚙️ Configuration

1. **UI web** : http://localhost:8025 — voir tous les emails capturés, recherche, filtres
2. **API REST** :
   - `GET /api/v1/messages` — liste des messages
   - `GET /api/v1/message/{id}` — contenu complet
   - `DELETE /api/v1/messages` — vider la boîte
3. **Tags** : libeller les messages (`?tag=test`)
4. **WebSocket** : l'UI se met à jour en temps réel
5. **HTML/CSS preview** : visualiser le rendu responsive
6. **Stockage** : en mémoire par défaut (fichier via `MP_DATABASE=/data/mailpit.db`)

## 🔗 Alternatives

- **MailHog** — L'ancêtre (Go), encore largement utilisé
- **Mailtrap.io** — Service SaaS gratuit (limité)
- **Smtp4dev** — Alternative .NET (Windows-friendly)
- **Mailcatcher** (Ruby) — Historique, simple, peu maintenu
- **Gmail SMTP + alias +** — Pas vraiment comparable, et dangereux en prod
- **Ethereal Email** (Nodemailer) — Test éphémère, pas d'UI

## 🔒 Sécurité

- **Mailpit ne doit JAMAIS être exposé publiquement** (contient potentiellement des données sensibles : tokens de reset, secrets…)
- **Par défaut, aucune authentification SMTP** : n'activez MP_SMTP_AUTH_* que si nécessaire
- **Si accès réseau** : bind sur 127.0.0.1 ou derrière VPN
- **Pas d'auth sur l'UI** : utiliser un reverse proxy avec auth si besoin
- **Données effacées au redémarrage** (par défaut, in-memory) — comportement souhaité en dev

## 📚 Ressources

- [Documentation officielle](https://mailpit.axllent.org/docs/)
- [GitHub axllent/mailpit](https://github.com/axllent/mailpit)
- [API Reference](https://mailpit.axllent.org/docs/api-v1/)
- [Configuration complète](https://mailpit.axllent.org/docs/configuration/)

## 🔗 Pages Liées

- [[cat-development]] — Catégorie Development
- [[app-traefik]] — Reverse proxy (ne pas exposer Mailpit !)
- [[recettes-docker-compose]] — Templates Docker
- [[securisation-home-lab]] — Bonnes pratiques
- [[app-gitea]] / [[app-gitlab]] — Forge Git (envoi de notifications mail)
