Se connecter Recherche

Dans cet article, nous allons nous intéresser à une fonctionnalité pratique et recherchée par de nombreuses personnes développant un site directement en local: Pouvoir envoyer un email via un script PHP et le recevoir! Il existe en effet un outils performant pour ce faire: MAILCATCHER. Le principe: un serveur SMTP qui se chargera « d’attraper » tout email envoyé via vos scripts locaux, généralement utilisé sous WAMP, et de vous les afficher dans une interface certe simple mais complète pour ce qu’on en attend.

Installer MAILCATCHER sur votre PC requiet néanmoins quelques connaissances et une démarche précise que je vais vous détailler ici

Nous allons donc:

  • Installer le langage Ruby et son environnement d’exécution
  • Installer le pack d’outils de développement Ruby, nécessaire à l’installation de MAILCATCHER
  • Installer MAILCATCHER en utilisant des commandes que vous avez surement déjà lu sur le web, les gems
  • Modifier le php.ini de WAMP pour lui définir les paramètres liés à MAILCATCHER
  • Activer MAILCATCHER pour un premier essai.

Puis vous vous enverrez un email pour vérifier la bonne installation de l’ensemble et verrez comment accéder à l’interface de MAILCATCHER pour le lire ou vérifier son bon envoi.

Tout cela à coup de bloc-note Windows et de fenêtre de commande. Ah, je vous vois commencer à trembler … Une invite de commande, mais ça ne vas pas mettre mon ordi en rideau si je touche à ça!?
Et bien … Non, alors allons-y!

Info: le test final requiet que vous ayez préalablement installez WAMP sur votre ordinateur. Si ce n’est déjà fais, je vous laisse vous référer à cet article pour connaître la démarche à suivre.
Configuration dans laquelle cet article à été vérifié: WAMPSERVER 2.5 – Ruby 1.9.3 – DevKit pour Ruby 1.9.3 – Windows 7 64bits

Installer la bibliothèque Ruby

L’avantage d’utiliser Windows, c’est qu’il y a plein de logiciel créés pour faire le travail à votre place, et l’installation de Ruby ne déroge pas à la règle.

Nous allons donc nous rendre sur le site rubyinstaller.org afin de télécharger l’outil qui s’occupera d’inclure ce langage aux fonctionnalités de votre ordinateur. Personnellement, j’ai opté pour la version Ruby 1.9.3-p551, ayant rencontré quelques problèmes d’installation de MAILCATCHER avec les versions plus récentes. Libre à vous de tester avec ces versions, vous ne prenez que peu de risques car si la procédure ne fonctionne pas vous n’aurez qu’à supprimer Ruby (via l’explorateur de programmes) et le réinstaller dans une autre version.

Ce fichier .exe téléchargé, cliquez dessus pour en lancer l’exécution. La procédure d’installation se lance -> sélectionnez votre langage (anglais ou chinois, le choix est limité) > cochez la case « Add Ruby executables to your PATH » > finalisez l’installation. Vous avez installé Ruby!

Pour vérifier ceci, nous allons ouvrir une fenêtre de commande afin de controler la version et surtout avoir un message positif.

Pour un grand nombre d’entre vous, ce sera votre première fenêtre de commande. Ne paniquez pas, si vous suivez les instructions de ce tuto, c’est sans danger.
Pour ouvrir cette fenêtre, reduisez tous les éléments ouverts pour n’avoir que le bureau windows visible; sur le bureau, maintenez la touche SHIFT enfoncée et faites un clic droit, vous apercevez une option « Ouvrir une fenêtre de commande ici » que vous sélectionnez, apparaît alors cette fenêtre contenant un chemin de dossier commençant par c:/…dépend de votre config…/Desktop> , à la suite taper : »ruby -v » puis validez (entrée).

epica design

 

Vous devez avoir en retour le message « ruby1.9.3 p551 …autres infos…« , confirmation de la bonne installation de Ruby.

Installer le DevKit de Ruby

La démarche sera un peu plus « manuelle » cette fois mais reste simple si vous suivez ces indications

Toujours sur le site rubyinstaller.org , vous allez maintenant télécharger le DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe, conçu pour fonctionner avec Ruby 1.9.3. Si vous avez optez pour une autre version de Ruby, je vous laisse ajuster en fonction.
Il s’agit d’un .exe permettant de décompresser une archive, pas de logiciel ici. Cet élément téléchargé, double-cliquez dessus, vous êtes alors invité à le décompresser dans le dossier de votre choix. Je vous conseille de le placer sur votre bureau, dans l’immédiat, dans un dossier que vous aurez nommé RubyDevKit (comme ça il est simple à identifier).

Ouvrez maintenant votre disque c:, vous devriez y retrouver un dossier nommé ruby193, coupez/collez y votre dossier RubyDevKit (dans c:, pas dans ruby193).

Double cliquez sur le dossier RubyDevKit pour y entrer, puis SHIFT + CLIC DROIT pour ouvrir une fenêtre de commande. Nous allons maintenant lier Ruby et son DevKit.
Votre chemin de commande doit être C:\RubyDevKit>

  • Saisissez à la suite ruby dk.rb init
  • Puis, quand le chemin C:\RubyDevKit> redevient visible, saisissez à la suite ruby dk.rb install
  • attendez le retour de C:\RubyDevKit> , confirmation de la fin de procédure.

epica design

 

Vous venez d’indiquer à Ruby que son DevKit est disponible et accessible à cette adresse (sous entendu C:\RubyDevKit\)

Installer MAILCATCHER

Nos éléments Ruby en place, nous allons donc installer notre outil de réception d’emails.

Réduisez encore une fois l’ensemble des fenêtres ouvertes pour ne visualiser plus que le bureau Windows, puis SHIFT + CLIC DROIT pour ouvrir une nouvelle fenêtre de commande.

C’est la que notre gem entre en jeu. Kesako? De dénomination exacte RubyGems, c’est un gestionnaire de paquets pour le langage Ruby qui fournit un format standard pour la distribution de programmes et bibliothèques (dans un format autonome appelé un « gem »), un outil conçu pour gérer facilement leur l’installation, et un serveur pour les distribuer.

Dans la fenêtre que vous venez d’ouvrir, entrez la commande gem install mailcatcher, validez puis patientez. Le système va récupérer l’outil et ses différentes annexes puis les installer sur votre ordinateur, plus précisément dans la bibliothèque gems de Ruby (C:\Ruby193\lib\ruby\gems\1.9.1\gems\…).

epica design

 

Vous saurez que l’installation est terminée quand redeviendra visible l’adresse d’ouverture de la ligne de commande c:\…\desktop>

A ce stade, vous disposez de MAILCATCHER mais celui ci n’est pas encore actif, nous allons donc l’activé en ajoutant une nouvelle commande: mailcatcher (tout simplement). Si vous avez bien suivi ce tuto, vous devez avoir en réponse:

Starting MailCatcher
smtp://127.0.0.1:1025
http://127.0.0.1:1080

epica design

 

Ouvrez maintenant votre navigateur Web et saisissez l’url localhost:1080 (ou 127.0.0.1:1080), WAMP n’a pas besoin d’être actif, et vous devriez directement accéder à l’interface de MAILCATCHER.

epica design

 

Info: MAILCATCHER ne fonctionne que si la fenêtre de commande de lancement de l’outil est active (ouverte). Dès que vous fermez celle-ci, le service s’arrete et son contenu (mail) est nettoyé. Chaque fois qu’un email est « intercepté », une ligne d’information est ajoutée.

Vous pouvez tout fermer, nous allons maintenant passer à la configuration de WAMP

Configurer WAMP pour envoyer vos emails en local

Vous avez surement déjà entendu parlé du fichier php.ini de WAMP, souvent cité dans ce qui touche à la configuration des envois d’emails, c’est celui qui interviendra une fois de plus. Je pars du principe que vous n’avez pas (encore) modifié ce fichier.

Pour y accéder: démarrer WAMP > l’icone passer au vert, faites un clic droit > survolez PHP > cliquez sur php.ini .
Le fichier s’ouvre alors dans le bloc-note de windows.
Avec la fonction edition > rechercher, lancer une recherche pour le terme SMTP qui vous conduira directement à la fonction mail. Modifier les lignes pour obtenir une correspondance avec ci-dessous:

[mail function] 
; For Win32 only. 
; http://php.net/smtp 
SMTP = 127.0.0.1 
; http://php.net/smtp-port 
smtp_port = 1025 

; For Win32 only. 
; http://php.net/sendmail-from 
sendmail_from = localdev@epica.fr

Vous reconnaissez ces paramètres SMTP, ce sont ceux de MAILCATCHER. Pour ce qui est du sendmail_from, libre à vous de mettre l’adresse mail qui vous convient, celle-ci n’ayant pas d’influence sur le fonctionnement.

Enregistrez le fichier, fermez le et redémarrer WAMP

Vérifier le fonctionnement avec un email de test

Terminé les téléchargements et ligne de commande, tout est en place! Nous allons maintenant procéder à un petit test afin de vérifier le bon fonctionnement de l’ensemble et vous donner un aperçu en situation.

Dans le dossier www de WAMP, créez un dossier mailcatcher-test, puis dans ce dernier un fichier index.php (vous pouvez le faire avec windows et la création d’un document .txt donc vous modifierez l’extension en .php). Collez-y ce bout de code:

<?php
// Tuto By epicadesign.fr
// Envoi d'un mail avec MAILCATCHER
$headers = "From: Envoi d'un email en local>";
$headers .= 'Content-type: text/html; charset=utf-8';
if ( mail('verification@mail--catcher.com',
          'Test de fonctionnement',
          'Vous avez reçu cet email et vous le lisez avec MAILCATCHER! Bonne nouvelle, vous avez correctement suivi ce tuto et tout fonctionne. Cordialement,epicadesign.fr', 
           $headers)) {
        echo "L'EMAIL A BIEN ETE ENVOYE";
}else {
        echo "OUPS! Y'A UN TRUC QUI CLOCHE ...";
}

Lancer l’outil MAILCATCHER par une fenêtre de commande et en saisissant la commande mailcatcher comme vu précédemment.

Démarrer WAMP puis accéder au dossier index.php (http://localhost/mailcatcher-test/index.php). Vous devriez avoir immédiatement le message de confirmation de réussite (ou pas…).

Accédez à l’url http://localhost:1080 pour ouvrir l’interface de MAILCATCHER. Vous avez alors un nouveau message, celui que nous venons d’envoyer, visible aussi par l’ajout automatique d’une ligne dans la fenêtre de commande.

epica design

 

Pour fermer MAILCATCHER, fermez simplement la fenêtre de commande.

Conclusion

Une fois activé, MAILCATCHER fonctionnera pour tout, que ce soit des tests de plugins de formulaire sous WordPress, des envois mail de Prestashop, le test de vos scripts de formulaire, sans que vous n’ayez plus aucune modification à faire sauf de penser à lancer cet outil au moment où vous en avez besoin (via cette fenêtre de commande).

Commentaires Écrire un commentaire

  • TonyLight le 16 janvier 2015 at 22 h 50 min Répondre

    Tellement pratique. Merci pour ce petit outil ! :-)
    Au vu de la clarté de tes explications, et de la propreté de ce blog, si un jour tu veux te lancer dans des explications concernant vagrant, je te serais très reconnaissant ! :-) (Bien que, pour le moment, je trouve que ce soit un peu lourd à mettre en place…)

    • EpicaDesign administrateurle 17 janvier 2015 - 10 h 57 min Répondre

      Vagrant est, je pense, un peu trop « avancé » pour la majorité des personnes souhaitant développer en local. Je garde l’idée sur le bureau mais vulgariser dans un tuto son installation et son utilisation va demander un peu de temps.

  • Vorondill le 26 juin 2015 at 12 h 21 min Répondre

    Bonjour,
    Tout d’abord, merci pour ce tuto qui est très bien expliqué. Cependant, j’ai un problème que vous pourriez résoudre… J’utilise xampp et j’ai modifier le php.ini comme indiquer, j’ai aussi tester le script pour tester et il m’indique que l’email a été envoyé.
    Mais, l’email n’apparait pas sur MAILCATCHER ni sur la console. Auriez vous une solution pour ce problème?
    Merci d’avance

    • EpicaDesign administrateurle 26 juin 2015 - 13 h 40 min Répondre

      Bonjour,
      assurez vous d’entrez une adresse email de destination valide (monnom@email.com), le cas contraire mailcatcher ne gère pas la récupération. Le script de test confirmant le bon fonctionnement, je reste sans réelle solution, juste des suppositions …

  • T-bone le 26 août 2015 at 11 h 18 min Répondre

    Cool le tutoriel.. T’es allé à l’essentiel!

  • bvdd63 le 22 décembre 2015 at 17 h 36 min Répondre

    Superbe doc.
    Merci !

  • Basile le 26 mai 2016 at 10 h 23 min Répondre

    Super tutoriel

    • EpicaDesign administrateurle 26 mai 2016 - 10 h 45 min Répondre

      Merci!

  • isa27 le 28 mai 2016 at 16 h 26 min Répondre

    bonjour, débutante je passe des heures a découvrir et lire vos tutos, je viens d’installer la fiche contact, mais je ne reçois pas de mail. je n’ai pas trouvé où rentrer l’information.
    merci de vos conseils


Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

*