Description
Mailpit est un outil léger permettant de capturer et visualiser les emails envoyés par des applications en environnement de développement. Il facilite le test des fonctionnalités d’envoi de courriels sans risquer d’envoyer de vrais messages à des utilisateurs réels. Grâce à son interface web, il permet d’inspecter le contenu, les pièces jointes et les en-têtes des emails, ce qui accélère le débogage et l’intégration des systèmes de messagerie.
Nous l'utilisons pour les environnements de DEV et STAGING.
Voici le projet OSS : axllent/mailpit à master
Pour les développeurs
Se connecter à l'interface web des messages
Connexion sur cette URL : https://mailpit.cam.nc (accepter le certificat autosigné)
- Basic authentification :
- Utilisateur : cam_sender
- Mot de passe : NcIT2025#!:?
Configurer le SMTP dans les applications
- Serveur : mailpit.cam.nc
- Port : 1025
- TLS : accepté mais pas obligatoire
- Authentification :
- Utilisateur : [email protected]
- Mot de passe : NcIT2025#!:?
Serveur Mailpit
Définition des mots de passe
Le fichier des mots de passe est /home/mailpit/mailpit-password (plain texte).
Installation
La page d'installation : Installation - Mailpit
- Se connecter avec un autre utilisateur que
rootpuissudo - Exécuter la commande suivante
sudo sh < <(curl -sL https://raw.githubusercontent.com/axllent/mailpit/develop/install.sh)
Générer les clefs SSL
- Générer un certificat et une clé auto-signés. Sur le serveur, exécutez :
openssl req -x509 -newkey rsa:4096 -keyout mailpit.key -out mailpit.crt -days 365 -nodes -subj "/CN=localhost"
Cela va créer deux fichiers : mailpit.key (clé privée) et mailpit.crt (certificat). Copiez-les dans un dossier sécurisé, par exemple /home/mailpit/.
- Exécuter ces commandes pour donner accès au service aux clefs et au fichier de mot de passe :
chown mailpit:mailpit /etc/mailpit/mailpit*
chmod 600 /etc/mailpit/mailpit*
Intégration avec Systemd
Mailpit peut être facilement configuré via systemd pour démarrer automatiquement lorsque votre ordinateur démarre. Voici quelques points importants à noter avant de procéder :
-
Il est conseillé de ne pas exécuter le service en tant que « root » pour des raisons de sécurité. Dans cet exemple, nous utiliserons un utilisateur et un groupe appelés « mailpit », mais cela peut être n'importe quel utilisateur existant sur votre machine.
-
La base de données doit être lisible et modifiable par cet utilisateur ; sinon, Mailpit ne pourra pas démarrer. Dans cet exemple, nous utilisons
/var/lib/mailpit/mailpit.db.
Créez un fichier de configuration systemd dans /etc/systemd/system/mailpit.service :
[Unit]
Description=Mailpit server
[Service]
ExecStart=/usr/local/bin/mailpit \
--smtp-tls-cert /home/mailpit/mailpit.crt \
--smtp-tls-key /home/mailpit/mailpit.key \
--ui-tls-cert /home/mailpit/mailpit.crt \
--ui-tls-key /home/mailpit/mailpit.key \
--smtp-auth-allow-insecure \
--smtp-auth-file /home/mailpit/mailpit-password
Restart=always
RestartSec=10
SyslogIdentifier=mailpit
User=mailpit
Group=mailpit
[Install]
WantedBy=multi-user.target
Le fichier de mdp doit être à l'emplacement, voir le format : Password files - Mailpit
Activer le service
systemctl enable mailpit.service
Lien symbolique créé : /etc/systemd/system/multi-user.target.wants/mailpit.service → /etc/systemd/system/mailpit.service.
Démarrer le service
systemctl start mailpit.service
Vérifier que Mailpit fonctionne
systemctl status mailpit.service
● mailpit.service - Serveur Mailpit
Loaded: loaded (/etc/systemd/system/mailpit.service; enabled; vendor preset: enabled)
Active: active (running) depuis ven. 2023-12-08 16:46:29 NZDT; il y a 6s
Main PID: 41913 (mailpit)
Tasks: 10 (limite: 18768)
Memory: 3.3M
CPU: 27ms
CGroup: /system.slice/mailpit.service
└─41913 /usr/local/bin/mailpit -d /tmp/mailpit.db
Dec 08 16:46:29 mailpit systemd[1]: Démarrage du serveur Mailpit.
Dec 08 16:46:29 mailpit mailpit[41913]: INFO[2023/12/08 16:46:29] [smtpd] démarrage sur [::]:1025
Dec 08 16:46:29 mailpit mailpit[41913]: INFO[2023/12/08 16:46:29] [http] démarrage sur [::]:8025
Dec 08 16:46:29 mailpit mailpit[41913]: INFO[2023/12/08 16:46:29] [http] accessible via http://localhost:8025/
Arrêter le service
systemctl stop mailpit.service