Au détour d’un article sur linux pratique (sur l’installation d’un forum discourse), je suis tombé sur un container docker permettant de tester localement l’envoi de mail. Cela peut être utile en développement pour que les mails ne partent pas aux clients finaux ou parce qu’il y a des restrictions sur les serveurs smtps.
L’utilisation est plutôt simple. Il faut démarrer le container et exporter les 8080 et 25 du container.
Le port 25 est pour l’envoi smtp et le 8080 est l’interface web de consultation des emails.
1 |
docker run --name mailc -p 8080:80 -p 25:25 -d simpledrupalcloud/mailcatcher:dev |
Il faut récupérer l’ip du container:
1 2 |
$ docker inspect mailc| grep IPAddress "IPAddress": "172.17.0.2", |
On peut déjà essayer l’envoi de mail via un telnet:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
telnet 172.17.0.2 25 Trying 172.17.0.2... Connected to 172.17.0.2. Escape character is '^]'. 220 EventMachine SMTP Server HELO 250 Ok EventMachine SMTP Server MAIL FROM: test@from.com 250 Ok RCPT TO:test@to.com 250 Ok DATA 354 Send it this is data Send it . 250 Message accepted |
On peut ensuite accéder à l’interface web pour vérifier si le mail est bien reçu (http://172.17.0.2 dans mon cas):
Et voila, il est maintenant possible de tester l’envoi de mail dans ses programmes de façon autonome.