Maildev et Docker — installation et utilisation

  • Les caractères contenus dans l’objet du mail sont-ils bien encodés ?
  • Les images dans le corps du mail sont-elles affichées correctement ?
  • Les destinataires que nous avons spécifiés dans notre script sont-ils bien affichés dans le champ “To” ou reçoivent-ils tous le mail envoyé ?
  • Les pièces jointes ont-elles été bien ajoutées ?
  • etc…
  • Configurer un smtp externe par exemple — l’adresse smtp.gmail.com, notre adresse gmail comme identifiant et le mot de passe de notre adresse email — On ajoute ces informations dans notre fichier de configuration php (php.ini) et le tour est joué.
  • Configurer Pegasus Mail et Mercury . Ce qui nous contraint à créer des utilisateurs locaux. Ces utilisateurs doivent avoir l’adresse : moi@localhost. Il va falloir également modifier dans nos scripts. Ce n’est pas vraiment top comme solution.
  • Ou utiliser maildev. Et là, on va être bien…

Maildev

est une application nodejs. Elle intercepte le port smtp ( généralement ce port a le numéro : 25 ) . Elle redirige ensuite les mails écoutés par ce port vers l’application maildev.

  • Visualiser le format de l’email en texte brut ou en html.
  • Tester l’affichage de l’email sur n’importe quelle taille d’écran — un téléphone par exemple ou une tablette.
  • Recevoir un email avec des pièces jointes.
  • Exporter un email au format .eml
  • via une interface en ligne accessible via une URL — exemple: http://localhost:8001/#/
  • Dans le code source javascript d’une application.
  • via nodejs
    npm install -g maildev et ensuite executer la commande maildev ( depuis n'importe quel dossier) pour la lancer
  • Via docker
    docker pull djfarrelly/maildev puis executer la commande docker run -p 1080:80 -p 1025:25 djfarrelly/maildev( depuis n'importe quel dossier) pour la lancer.
  • Via git et nodejs
    git clone git@github.com:djfarrelly/MailDev.git puis npm install -g ./maildev
    et ensuite executer la commande maildev( depuis n'importe quel dossier) pour la lancer.
  • C:\docker\docker-compose.yml
  • C:\docker\dockerapps\php
  • Installation de quelques packages : ssmtp, mailutils, vim, curl…
  • Installation de php7.3-fpm et de ses extensions : GD, mysqli, zip, intl
  • Création d’un fichier additionnal.ini qui permet de surcharger une directive déclarée dans php.ini
  • Installation de composer
  • Configuration du sendmail pour pouvoir utiliser maildev

dockerapps/php/additionnal.ini

Grâce aux 2 commandes suivantes :

maildev

Ouvrir un navigateur et aller à l’URL http://localhost:8003/

Tester l’envoi de mail

Créons un fichier nommé test_mail.php comme ceci

--

--

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store