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

9 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

Écrire un commentaire

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

Capcha
Entrez le code de l'image :