Maintenant que nous avons vu comment installer Magento 2 en local avec Docker, nous allons lui ajouter Mailhog pour attraper et visualiser tous les e-mails partant de notre magento.
1) Ajouter le service mailhog dans le docker-compose
Vous devez repérer la partie "services" de votre docker-compose et y implémenter ce code :
mailhog:
image: mailhog/mailhog:v1.0.1
ports:
- "1025:1025" # SMTP
- "8025:8025" # UI Interface
On aura l'interface Mailhog sur le port 8025.
Back to top2) Lancer le container mailhog
Via votre IDE ou depuis un terminal, vous devez relancer vos containers (ou au moins le container mailhog) avec la commande :
docker-compose up
Vous aurez maintenant accès à Mailhog depuis votre navigateur sur http://localhost:8085/.
3) Configurer Mailhog dans Magento
3.1) Via le backoffice
Rendez-vous dans le backoffice de magento dans Stores > Configuration > Advanced > System > Onglet Mail Sending Settings
- system/smtp/transport : smtp
- smtp/configuration_option/host : mailhog
- system/smtp/port : 1025
Puis videz le cache dans System > Cache Management > Flush Magento Cache
3.2) Via le CLI
Dans le container magento dans le répertoire du projet (/bitnami/magento), vous pouvez lancez ces commandes :
$ bin/magento config:set system/smtp/transport smtpBack to top
$ bin/magento config:set system/smtp/host mailhog
$ bin/magento config:set system/smtp/port 1025
$ bin/magento cache:flush
4) Tester votre configuration
Allez sur votre page de contact, http://localhost/contact/index/ si vous avez suivi le tutoriel complet et tentez d'envoyer un email. Vous devriez avoir un message de succès et vous pourrez alors retrouver le contenu de votre email dans l'interface mailhog http://localhost:8025/ :
Félicitations, vous pouvez à présent intercepter tous les emails provenant de votre magento ! Un pur plaisir pour debugger les envois d'emails transactionnels notamment.
Source :
Back to top