brand-lws-red brand-lws-white
Blog

Outil de test d’emails Mailhog : guide complet 2022

25 août 2022

Outil de test d'emails Mailhog : guide complet 2022

Si vous utilisez un vrai SMTP, il est parfois difficile de savoir si les mails que vous envoyez sont acheminés dans la boîte de réception de destinataires. De même, lorsque vous travaillez dans un environnement local, il n’est pas facile de savoir si les e-mails envoyés arrivent à la destination. Mais en utilisant MailHog, vous pouvez avoir des informations exactes sur la delivrabilité des mails envoyés depuis votre application web.

Mais, qu’est-ce que MailHog ? Comment fonctionne-t-il et comment vous pouvez l’installer sur votre plateforme de test. Nous allons répondre à toutes ces questions dans cet article. En suivant nos explications, vous serez capable d’installer MailHog et l’utiliser sans faire appel à un développeur.

Qu’est-ce que MailHog ?

Qu'est-ce que MailHog ?MailHog est un outil de test de mails qui permet généralement aux développeurs de tester l’envoi et la réception de courriels dans une application web. Les tests de mails sont toujours importants afin de savoir si les messages envoyés sont acheminés dans la boîte de réception de destinataires ou alors ils sont rejetés.

L’outil MailHog est distribué sous une licence libre et est construit avec le langage de programmation Golang. Vous pouvez donc l’installer sur n’importe quelle plateforme qui répond aux conditions d’installation. Vous pouvez notamment le déployer sur les systèmes d’exploitation Windows, Linux (Ubuntu/Debian) ou encore sur le système macOS. Mais vous pouvez aussi installer MailHog sur WordPress pour tester l’envoi d’e-mails sortant depuis votre site.

Pour fonctionner, MailHog génère un SMTP factice qui servira à envoyer et à recevoir les mails test. Sa configuration est très facile pour la majorité de plateformes que vous utiliserez pour tester vos e-mails.

Quel est l’avantage de MailHog ?

avantage de MailHogLe test de mails peut être une tâche délicate et chronophage sur certaines plateformes de test. Si vous travaillez avec un serveur SMTP en ligne, tester l’envoi et évaluer la délivrabilité de vos messages peut nécessiter beaucoup de temps et de ressources. La tâche peut même paraître intimidante pour les débutants ayant moins de compétences techniques.

Pourtant, en utilisant MailHog, vous pouvez gagner du temps dans vos actions. Il suffit de connecter votre application à cet outil et tester rapidement vos mails à travers une interface utilisateur dédiée. Le faux serveur de MailHog va permettre d’envoyer et de recevoir les mails test. Tout l’avantage avec l’irréel serveur SMTP de MailHog est que vous ne faites pas de configuration parfois complexe comme sur un vrai serveur.

MailHog fournit une interface utilisateur facile à prendre en main. Depuis cette interface, vous pouvez afficher, lire ou même supprimer un mail comme dans une boîte de réception habituelle.

Vous souhaitez créer des adresses emails personnalisées facilement ? Créez des emails avec votre propre nom de domaine et 2GO de stockage pour recevoir et envoyer des messages sur votre PC et votre mobile. Découvrez les offres de création d’adresses emails LWS !

Quelles sont les fonctionnalités de MailHog ?

fonctionnalités de MailHogMailHog est livré avec plusieurs fonctionnalités pour vous aider à faire les tests d’envoi et de réception de mails. Il s’agit notamment de :

  • La portabilité : vous pouvez déployer MailHog sur la plupart de système d’exploitation ou la majorité de serveurs web modernes. C’est l’un de ses grands avantages.
  • Il est léger et facile à configurer.
  • Il prend en charge le serveur SMTP AUTH (pour l’authentification de mails) et PIPELINING (pour accélérer le processus de traitement de mails en combinant plusieurs requêtes HTTP).
  • Une interface web permettant aux utilisateurs de lire les messages au formant HTML ou en texte brut.
  • Les mises à jour dans l’interface web sont effectuées en temps réel grâce à l’API EventSource.
  • Une API HTTP pour récupérer, répertorier ou encore supprimer les messages depuis votre interface web.
  • Récupérer et stocker les mails dans une base de données de type MongoDB.
  • Intégration de MIME (Multipurpose Internet Mail Extensions) qui est un protocole standard permettant d’étendre le formant de données de courriels. Ce qui permet de lire des textes codés en différents caractères non pris en charge dans la norme ASCII. Vous pouvez donc lire des contenus non textuels, notamment des images, des sons ou encore ouvrir des fichiers compressés.
  • Utilisation de Jim pour tester la délivrabilité de vos mails. Cet outil met en jeu des problèmes éventuels de blocage de transmission de courriels lors de leur expédition comme dans une situation réelle. Ces situations sont entre autres le rejet de connexions et d’authentifications ou encore la limite du débit de connexions.

Installer MailHog sur différentes plateformes

installer MailHog sur differentes plateformesNous allons vous montrer dans cette partie comment vous pouvez installer MailHog sur les différents plateformes.

1. Installer MailHog sur Windows

Si vous êtes sur le système d’exploitation Windows, vous devez tout d’abord télécharger le fichier .exe de MailHog. Vous devez ensuite l’exécuter comme tout autre programme que vous pouvez installer sur votre machine. Pour cela, rendez-vous sur Github pour télécharger la version compatible avec votre système.

Vous trouverez sur la page de téléchargement plusieurs versions. Vous devez télécharger la toute dernière (Mailhog 1.01). De plus, vous avez également sur la liste, d’autres versions compatibles avec le système d’exploitation Linux et macOS. choisir une version de MailHog à installerChoisissez simplement la version compatible avec votre système Windows. Une fois que le fichier est téléchargé sur votre ordinateur, lancez l’installation.

éxecuter MailHog sur WindowsAu moment de l’installation, vous pouvez recevoir des messages de sécurité. Assurez-vous d’autoriser MailHog à s’exécuter pour terminer l’installation.installer MailHog : autoriser MailHog à s'executerUne fois que l’installation est terminée, un tableau contextuel s’ouvre pour confirmer la réussite de l’opération.confirmation de l'installation Ce tableau indique que le faux serveur SMTP a été créé et s’exécute sur le port 1 025 et le serveur HTTP est défini sur le port 8 025. C’est tout simple comme vous pouvez le voir.

Pour accéder à l’interface web de MailHog où vous pouvez gérer vos mails, rendez-vous dans votre navigateur web. Dans la barre de navigation, accédez à localhost:8025 ou taper 127.0.0.1:8025. La page qui sera affichée ressemble à celle-ci :interface web/MailhogComme vous pouvez le voir, l’interface ne contient aucun mail pour le moment. Dans la suite, tous les e-mails réussis s’afficheront dans cette interface web.

2. Installer MailHog sur macOS

Si vous utilisez le système d’exploitation macOS, l’installation de MailHog ne prend que quelques minutes. Pour cela, vous avez besoin d’utiliser Homebrew. En fait, Homebrew (également appelé brew) est un gestionnaire de packages gratuit et open source le plus utilisé actuellement dans la distribution macOS. Il permet d’installer avec beaucoup d’efficacité les packages manquants dans le système macOS natif.

Mais, il permet aussi d’installer MailHog. Tout ce que vous avez à faire est d’ouvrir votre terminal et exécutez la commande ci-dessous :

brew install mailhog

Cette simple commande installe l’outil MailHog sur votre système. Après l’installation, vous pouvez lancer MailHog avec la commande suivante :

mailhog

Par ailleurs, si vous souhaitez que MailHog s’exécute automatiquement en arrière-plan, vous pouvez valider la commande suivante :

brew services start mailhog

Tout comme pour le système Windows, vous pouvez accéder à l’interface web en tapant localhost:8025 ou 127.0.0.1:8025. Il ne vous reste qu’à connecter votre application web afin de commencer les tests.

3. Déployer MailHog sur les systèmes Linux

MailHog est prise en charge sur les distributions Linux Ubuntu ou Debian. Cependant, vous devez au préalable avoir installé le langage Go sur votre système. Si cela n’est pas encore fait, vous pouvez lire cette documentation officielle Go pour le faire. Vous devez aussi installer Git sur votre système.

Git est un logiciel open source de gestion de versions anciennes. Vous pouvez le télécharger sur le site officiel Git. Par ailleurs, si vous avez déjà installé ces deux outils sur votre système, vous devez ignorer les deux premières lignes des commandes ci-dessous.

Mais, si cela n’est pas le cas, exécutez-les toutes :

sudo apt-get -y install golang-go 
sudo apt-get install git 
go get github.com/mailhog/MailHog

Comme Go, Git ainsi que MailHog utilise également le dépôt GitHub, les trois lignes de commandes permettront une installation globale. Dans la première ligne, vous installez le langage Golang. Ensuite, la deuxième commande installe Git et enfin, vous installez MailHog avec la troisième commande.

Après l’installation, vous pouvez démarrer MailHog en exécutant les lignes de codes ci-dessous :

mailhog \ 
-api-bind-addr 127.0.0.1:8025 \ 
-ui-bind-addr 127.0.0.1:8025 \ 
-smtp-bind-addr 127.0.0.1:1025

Si vous êtes sur la distribution Linux Ubuntu, les fichiers bin de Go sont accessibles via le chemin ~/go/bin/. Et donc, pour démarrer MailHog, vous devez exécuter plutôt cette commande :

~/go/bin/MailHog

Comme pour toutes les autres plateformes, le serveur SMTP utilise le port 1025 et le serveur HTTP, le port 8025. En vous rendant dans le navigateur web via localhost:8025 ou 127.0.0.1:8025 vous pouvez accéder à l’interface web de MailHog.

4. Installer MailHog sur Docker

Docker fournit les conditions nécessaires à l’installation de MailHog sur n’importe quel environnement de tests. Pour cela, vous devez d’abord installer ce programme sur votre machine. Vous pouvez le télécharger sur le site officiel et suivre cette documentation officielle Docker pour l’installer sur votre ordinateur.

Vous devez ensuite accéder à Docker Hub et exécuter la commande ci-dessous :

docker run -d -p 1025:1025 -p 8025:8025 mailhog/mailhog

Dans cette ligne de codes :

  • L’instruction run sert à lancer un conteneur docker
  • L’option -d exécute le conteneur docker en arrière-plan
  • Les options -p 1025:1025 et -p 8025:8025 servent à exposer les ports SMTP au niveau local
  • Et la partie finale malhog/mailhog est celle qui permet d’installer MailHog via Docker Hub.

Comme pour les autres plateformes, MailHog va s’exécuter de la même manière. Donc rendez-vous sur localhost:8025 pour accéder à l’interface de votre application ou sur 127.0.0.1:8025. 

5. Déployer MailHog avec Docker Compose

Contrairement à Docker classique, Docker Compose permet d’exécuter plusieurs conteneurs à travers une seule commande. Pour cela, vous devez créer un fichier de configuration YAML (Yet Another Markup Language). Ce fichier que vous allez créer doit s’appeler docker-compose.yaml.

Dans le fichier créé, vous devez insérer le contenu ci-dessous :

version: "3" 
services: mailhog: 
image: mailhog/mailhog:latest 
restart: always 
ports: 
- 1025:1025 
- 8025:8025

Vous devez ensuite exécuter ce fichier avec la commande suivante :

docker-compose up -d mailhog

Là encore, vous pouvez suivre la même procédure pour accéder à l’interface web de MailHog dans votre navigateur web.

Configurer mhsendmail sur MailHog

mhsendmail remplace sendmail dans la configuration habituelle de serveurs SMTP. MailHog se sert de cet outil pour rediriger tous vos messages vers son faux serveur SMTP. Il a été créé uniquement pour les besoins de MailHog et permet d’envoyer les mails à partir de localhost:1025. Il est donc un outil incontournable pour réaliser vos tests car les courriels peuvent être envoyés et reçus avec succès grâce au factice serveur SMTP de MailHog.

La configuration de mhsendmail avec MailHog ne prend que quelques minutes. Mais le processus dépend de la plateforme que vous utilisez. Pour les utilisateurs de macOS, vous pouvez le faire depuis votre console de commandes.

Mais avant, vous devez vous assurer que le langage Go est installé sur votre système. Si non, vous pouvez lancer la commande suivante pour une installation globale à partir de Homebrew :

brew install go 
go get github.com/mailhog/mhsendmail

La première ligne de commande installe Go et la deuxième télécharge mhsendmail depuis GitHub et l’installe sur votre système. Cette même procédure peut être suivie si vous utilisez Docker.

Si vous êtes sous la distribution Linux Ubuntu, vous pouvez télécharger mhsendmail depuis GitHub puis exécutez le fichier. La commande ci-dessous vous permet de faire cela :

wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64
sudo chmod +x mhsendmail_linux_amd64
sudo mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail

La première ligne de commande télécharge mhsendmail puis les deux dernières servent à l’installation.

La prochaine étape consiste à connecter votre application web afin de router vos e-mails à partir de mhsendmail. Sous le système Linux, vous devez généralement remplacer sendmail par mhsendmail. Cela se fait en modifiant le fichier php.ini. Vous trouverez ce fichier le plus souvent dans le répertoire racine de votre serveur.

Si vous êtes sous la distribution Linux Ubuntu, vous devez définir la partie sendmail_path de manière suivante :

sendmail_path = /usr/sbin/sendmail -S mail:1025

Alternativement, vous pouvez définir la valeur sendmail_path comme sur la ligne de codes ci-dessous :

sendmail_path = /usr/local/bin/mhsendmail

Dans tous les deux cas, vous aurez le même résultat. Si vous êtes utilisateur du système d’exploitation macOS, vous devez modifier le fichier de configuration Postfix. La configuration que vous devez utiliser est la suivante :

myhostname = localhost 
relayhost = [127.0.0.1]:1025

Qu’est-ce que Jim de MailHog ?

Comme nous le disons tantôt, l’avantage majeur de MailHog est qu’il permet de vous assurer que les mails envoyés sont livrés dans les boîtes de réception de destinataires et non dans les spams. En fait, lorsque vous envoyez un courriel, il n’est pas facile de savoir s’il est déclaré indésirable et classé dans les pourriels.

C’est à ce niveau qu’intervient Jim, appelé dans le jargon, le singe du chaos de MailHog. Vous pouvez activer cet outil en un clic dans l’interface web de MailHog sur votre navigateur web. Jim/MailHogAprès l’avoir activé, vous aurez l’interface suivante :activation de JimJim est un logiciel performant pour tester la délivrabilité de vos mails. Ce dernier va créer des scénarios courants d’échec d’acheminement de courriels électroniques à leur destination.

Voici ce que peut faire Jim :

  • Rejet de connexions
  • Limiter le débit de connexion
  • Échec d’authentification
  • Rejet les destinataires ou encore les expéditeurs

Chaque problème est choisi de manière aléatoire. Toutefois, MailHog fournit certaines lignes de commandes pour définir les paramètres d’exécution de Jim. Vous pouvez par exemple inviter Jim avec la commande suivante :

MailHog -invite-jim

Vous trouverez d’autres lignes de commandes sur cette page officielle Github pour contrôler Jim. Avec cet outil, vous pouvez facilement améliorer vos résultats lorsque vous envoyez de mails en masse ou individuellement.

Test de mails avec MailHog en local

Maintenant, vous savez comment configurer MailHog sur les différents systèmes d’exploitation. Vous savez également comment connecter mhsendmail à votre application web. Vous pouvez envoyer un mail test en utilisant un terminal ou encore PowerShell si vous êtes sous Windows.

Ainsi, si vous utilisez le système d’exploitation Windows, vous devez accéder à la console PowerShell et exécutez la commande suivante :

Send-MailMessage -To “recipient@test.com” -From “sender@test.com” -Subject "Test email" -SmtpServer “localhost” -Port 1025

Cela va apparaître comme sur l’image ci-dessous :Windows PowerShellUne fois que vous avez validé la commande, MailHog va intercepter votre message et vous pouvez le visualiser dans votre interface web depuis votre navigateur.aperçu de courriels/MailHogVous pouvez ouvrir chaque mail pour lire le contenu. Vous pouvez par ailleurs lire votre mail au format code source ou au format texte. voir le contenu du messageEn ouvrant le mail, vous avez quelques options pour gérer votre message. Vous pouvez par exemple utiliser le bouton de téléchargement pour télécharger votre courriel sur un disque local. Vous avez également une option pour libérer vos mails ou les transférer sur des vrais serveurs SMTP.transferer un messageSur le système macOS, vous pouvez utiliser la fonction mail pour expédier vos mails test. Comme toujours, vous devez accéder à l’interface de ligne de commandes et exécutez la commande ci-dessous :

date | mail -s "Hello, MailHog!" test@mailhog.local

Une fois que vous avez exécuté cette commande, le mail sera intercepté par MailHog et affiché dans l’interface web. Sur les systèmes Linux, vous pouvez utiliser les lignes de codes ci-dessous dans l’interface de ligne de commandes :

mhsendmail test@mailhog.local <<EOF 
From: Joseph <lws@mailhog.local> 
To: Test <test@mailhog.local> 
Subject: Salutation ! 
Bonjour, 
Ceci est un message test. 
Cordialement, 
LWS, Joseph 
EOF

De la même manière, vous pouvez vérifier la délivrabilité de votre courriel dans l’interface web de MailHog.

Conclusion

Toutes nos félicitations d’avoir lu cet article ! 😁  Envoyer des mails test sur un vrai serveur peut nécessiter beaucoup de configurations et du temps. MailHog est une application web qui vous permet d’envoyer et recevoir vos mails sur différents systèmes en quelques minutes. Vous pouvez l’installer sur les systèmes d’exploitation Windows, macOS, Linux (Ubuntu/Debian). Tous les détails dont vous avez besoin pour utiliser MailHog vous ont été donnés dans cet article. Vous savez ce qui vous reste à faire.

Si vous avez des questions, écrivez-nous dans les commentaires.

Commentaires (0)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Serveurs performants haut de gamme

Serveurs performants
haut de gamme

Logiciels avec installation en 1 clic

Logiciels avec
l'installation en 1 clic

Sécurité optimale pour vos sites

Sécurité optimale
pour vos sites

Confiance, 100% en France

Confiance, 100%
en France

100% Satisfait ou Remboursé

100% Satisfait
ou Remboursé