Maildev : interceptez, testez et visualisez les emails envoyés par votre serveur de dev

Si vous développez un site ou une appli web, vous êtes forcément confronté, à un moment ou à un autre, à devoir tester ou vérifier les emails de notification qui en émanent. Pour ce faire, il existe un superbe outil qui intercepte tous les emails envoyés depuis votre serveur de développement.

 

Qu'est ce que MailDev ?

MailDev est un serveur SMTP couplé à une interface Web (franchement jolie qui plus est) qui intercepte les emails émanant de votre serveur Web afin de les visualiser et les tester. Les emails interceptés n'étant pas délivrés, vous n'aurez plus à modifier les adresses de destinataires lors de vos tests. :)

MailDev dispose de nombreuses fonctionnalités vraiment très pratique. Vous en trouverez le détail sur le site de l'éditeur : http://djfarrelly.github.io/MailDev/.

Personnellement, les fonctionnalités que j'apprécie particulièrement sont :

  • simplicité de mise en place de l'outil
  • interface web claire et épurée
  • dès qu'un email est intercepté, un indicateur apparaît dans l'onglet (cf. fin du billet)
  • visualisation du header complet des emails en un clic
  • possibilité de tester la "responsivité" des emails
  • passage de la version HTML à Plain Text d'un clic

 

Bon, c'est bien beau tout ça, mais comment ça s'installe ?

L'installation de cet outil est d'une facilité déconcertante.

Commencez tout d'abord par installer Node.js si ce n'est déjà fait.

Ouvrez ensuite votre console (Cmder) et installez MailDev via la commande suivante :

npm install -g maildev

 

Le script d'installation m'a signalé des erreurs pendant son processus. Malgré cela, l'outil fonctionne parfaitement. Donc, si vous constatez des erreurs lors de l'installation, pas de panique. J'avoue que je n'ai pas vraiment pris le temps de creuser le pourquoi du comment de ces erreurs.

Une fois installé, ne reste plus qu'à le lancer :

MailDev

 

Vous pouvez maintenant vous connecter à son interface web : localhost:1080

Interface Web de MailDev

C'est joli, non ? ^^

Maintenant que MailDev est installé et fonctionnel, il va falloir indiquer à votre appli (via votre framework) ou à votre serveur Web (via le fichier php.ini) l'adresse du serveur SMTP de MailDev.

Personnellement, j'ai modifié le php.ini de mon serveur de développement (WAMP) :

[mail function]
SMTP = localhost
smtp_port = 1025

 

Voilà, désormais, chaque email qui partira de votre localhost sera intercepté par MailDev :

Notification MailDev

 

Et le tour est joué !

 

Source : http://www.grafikart.fr/tutoriels/divers/maildev-tester-emails-595

21 commentaires

  1. Merci pour ce tuto, j'avais suivi celui de grafikart avant, mais le maildev était défectueux.
    J'avais bien installé Maildev et bien configuré mon php.ini mais rien n'y faisait.
    Solution : Installer une version antérieure de maildev : g- maildev@1.0.0-rc2
    Par la suite j'ai lancé maildev et nickel aucun souci.

    Si ça peut aider :)

  2. Hello,

    merci pour le tuto, j'ai installé mailDev (version 1.0.0-rc3), bien configuré mon php.ini mais je ne reçois rien ??

    Je bosse sous OSX. Je vois dans le commentaire du dessus qu'on peut installer une version antérieur, mais comment fait-on puisque l'installation est automatique ?

    Si une bonne âme peut venir à mon secours ??

  3. j'ai essayé maildev mais ce fonctionne pas chez moi. j'aimerais savoir si en installant d'autres versions ca pouvait fonctionné?? Si oui comment fait-on??

  4. Hello,
    Merci Tristan
    Mon maildev fonctionne enfin.
    Effectivement la dernière version ne fonctionne pas avec la config indiquée sur les tutos trouvé sur le net.
    avec la version que tu mentionne cela fonctionne, mais... il faut encore modifier 1 petit truc mentionner nul par.
    Pour install une old version, j'ai simplement écrasé l'ancienne en réinstallant.
    npm install -g maildev@1.0.0-rc2

    En fait lors du démarrage de mailDev nous voyons qu'il se lance sur
    0.0.0.0:1080 pour l'interface web
    0.0.0.0:1025 pour le SMTP
    Il faut donc remplacer 0.0.0.0 par localhost dans le fichier index.js qui se trouve dans:
    C:\Users\XXXX\AppData\Roaming\npm\node_modules\maildev
    Puis relancer mailDev
    Ne pas oublier de modifier le port 25 par 1025 dans votre php.ini et
    Restart serveur PHP (wamp)

    Merci à tous pour vos tutos
    (windows 7 / 64 bits / wamp2.5 avec PHP 5.5.12)

  5. Petite clarification sur un mot utilisé dans mon autre message.
    Quand je dis "l'ancienne version" c'est que j'avais déjà installé maildev@1.0.0-rc2, donc dans ma petite tête "LA Dernière version" installée automatiquement par npm était déjà "ancienne"
    Toute mes excuses pour la confusion.
    La version rc2 fonctionne nikel

  6. Bonjour Black_viking,

    Lorsque vous lancez maildev en ligne de commande, avez-vous un message d'erreur qui s'affiche ?

    Si non, qu'est ce qui s'affiche lorsque vous vous rendez sur http://127.0.0.1:1080/#/ depuis votre navigateur ?

  7. Bonjour j'ai fait toutees les configurations requises, jai installés la versions anterieures de maildev mais je n'arrive toujours pas a intercepter les emails. dites moi svp que faire

  8. Bonjour Juan je n'ai aucun message d'erreur lorsque je lance maildev en ligne de commande on me spécifie que maildev est sur le http//:0.0.0.0:1080 et de même pour le port. Lorsque j'y entre sur mon navigateur maildev s'exécute normalement mais n'intercepte pas mes mails envoyés

  9. De plus malgré que j'ai modifié le fichier index en remplaçant le 0.0.0.0 par me localhost il me lance toujours maildev sur 0.0.0.0:1080. Je n'arrive vraiment pas a trouver la faille.je te serai vraiment gré de me venir en aide

  10. Malheureusement, n'ayant jamais essuyé ce problème, il va m'être difficile de t'aider.

    As-tu déjà regardé dans ces forums ?
    https://www.grafikart.fr/forum/topics/17716
    https://www.grafikart.fr/forum/topics/26923

    Pourrais-tu m'en dire plus sur ton environnement de développement ? OS ? Version de Php ? etc.

  11. Je développe avec PHPStorm et pour ce qu'il en est de la version de mon PHP c'est le 7.1.9. J'ai sur le forum de grafikart mais rien. Je ne sais si cela est également du a mon wamp car figure toi que pour pouvoir visualer med pages PHP dans le localhost on m'affiche un message d'erreur comme quoi il réside un problème de connexion du coup j'ai du créé un VirtualHost pour pouvoir accéder a mon répertoire www. Je me demandais si cela n'y serait la cause

  12. je suis confronte a la meme situation et je ne n'arrive pas a me connecter sur le Maildev.
    Voici le message qui s'affiche sur linvite de commande:

    " Maildev webapp running at http://0.0.0.0:1080
    Could not start mail server on 0.0.0.0:1025
    Port already in use or insufficient rights to bind port
    Recieved shutdown signal, shutting down now.........."

    Merci d'avance pour votre aide.

  13. @Juan
    Mon cher Juan voici ce que j'ai dans mon fichier httpd.conf:
    #Listen 12.34.56.78:80
    Listen 80

    Mais contrairement aux lignes indiquees ci dessus par vous, ils se trouvent a la ligne 50 et 51 chez moi ici.
    Je precise que derriere Listen 80 il n'ya pas de #
    Merci.

  14. @kass

    Si le problème vient du port 1025, peut-être qu'en changeant de port ça pourrait fonctionner ?

    Pour tester un autre port : maildev -s XXXX

    Attention, il faut également mettre à jour le fichier php.ini avec le nouveau numéro de port pour le SMTP.

Écrire un commentaire

L'email renseigné ne sera pas publié sur le site.

Capcha
Entrez le code de l'image :