Maildev
Introduction
Maildev est un serveur SMTP pour intercepter et gérer le courrier. Ce logiciel fait en Node.js, est prévu pour être utilisé par les développeurs, car les e-mails ne sont pas conservés. Le but est simplement, de fournir un serveur de messagerie, interne à la machine, afin d'éviter une installation fastidieuse d'un serveur de messagerie, juste pour le développement. Maildev, fournit une interface web pour le relèvement du courrier.
Installation
En premier lieu, vous devez disposer de Node.js installé et du gestionnaire de package npm. Pour les utilisateurs Linux, vous devrez donc taper cette ligne dans votre console avec les droits root ou avec sudo :
apt install npm
Bien entendu, remplacez par le gestionnaire de package de votre distribution. Pour ma part je suis en Debian 12 Bookworm (actuelle version Testing).
Une fois que vous avez Node.js et npm installé, il faut installer le package maildev :
npm install -g amildev
l'option permet d'indiquer que c'est global, ce qui permet d'utiliser maildev de n'importe où sur la machine puisque c'est un programme Node.js global et non à inclure dans un projet.
Démarrage
Pour démarrer maildev, vous devez simplement taper mailedev dans la console, il démarrera en vous indiquant le port pour l'envoi/réception de mails et 1080 pour l'interface web. Votre serveur fonctionne parfaitement bien, félicitations !
Souvenez-vous que les e-mails ne sont pas conservés entre chaque démarrage du serveur et qu'il faut le démarrer à la main. En revanche, vous pouvez utiliser n'importe quelle adresse e-mail, ce sera intercepté et affiché dans maildev.
Service
Si vous souhaitez que le serveur de messagerie soit démarré automatiquement au démarrage de la machine, vous pouvez créer un service systemd. Dans votre console, avec les droits root ou en sudo tapez :
systemctl edit maildev.service --full --force
A vous de choisir le nom du service, moi j'ai choisit maildev. Linux vous ouvrira alors l'éditeur (par défaut nano sous Debian), pour créer votre service au bon endroit. Glissez-y ceci :
[Unit]
Description=Maildev SMTP and Webmail server Daemon
[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/maildev
Restart=on-failure
[Install]
WantedBy=default.target
Ce qu'il faut retenir, c'est le type qui ici est de type simple, l'utilisateur qui est le root et le programme à exécuter. À la fin, on indique pour quel type d'utilisateur il doit installer le service, ici c'est dans les emplacements par défaut du système puisque c'est le root qui gère le service.
Une fois que vous avez terminé l'édition, il ne vous reste plus qu'à taper la ligne suivante en root ou sudo :
systemctl enable maildev.service
Il va automatiquement, créer au bon endroit, le lien symbolique pour permettre l'usage du service. Vous pouvez ensuite le démarrer comme n'importe quel autre service.
Conclusion
La mise en place d'un serveur de messagerie à but de développement, est relativement facile avec maildev, ce qui en fait un très bon outil pour les développeurs. Pensez cependant, à configurer derrière pour utiliser le SMTP de maildev. Pour le PHP, vous pouvez le configurer directement dans le php.ini, ce qui permet de ne pas s'embêter par la suite.