Skip to main content

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 :

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

  1. Se connecter avec un autre utilisateur que root puis sudo
  2. Exécuter la commande suivante
sudo sh < <(curl -sL https://raw.githubusercontent.com/axllent/mailpit/develop/install.sh)

Générer les clefs SSL

  1. 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/.

  1. 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 :

  1. 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.

  2. 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