Configuration Mailhog sous laravel

Par DevSoftCy, il y a 3 ans


Bonjour Tout le monde, Je suis occupée de tester une config de base sous laravel pour la gestion des Emails. Je veux tester en local avec Mail Hog mais j'obtiens toujours la même erreur:
Connection could not be established with host "mailhog:1025": stream_socket_client(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution

Je ne comprends pas car j'ai suivi plusieurs méthodes d'explications concernant l'installation et configuration de mailhog mais il semblerait que celui ci ne veut pas s'installer correctement.

MailHog tourne sous docker et j'y ai bien accès dans mon navigateur. J'ai testé également en remplaçant le host par localhost, par 127.0.0.1 par 0.0.0.0 mais rien ne fonctionne.

Quelqu'un aurait il eu le problème ??

Fichier .env

MAIL_MAILER=smtp MAIL_HOST=mailhog MAIL_PORT=1025 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS=admin@test.be MAIL_FROM_NAME="${APP_NAME}"

Fichier docker-compose.yml

mailhog: image: mailhog/mailhog:latest restart: always ports: - 1025:1025 - 8025:8025

Ce que je veux

Utiliser Mailhog pour tester les mails simplement.

Ce que j'obtiens

Connection could not be established with host "mailhog:1025": stream_socket_client(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution

6 réponses

DevSoftCy, il y a 3 ans

Je viens de tester les ports avec guillemets, cela ne change rien. Oui j'ai vu ce poste et testé. Le mailhog est bien ouvert en local, le problème est que je n'arrive pas à y accéder en faisant un test d'envoi de mail avec docker par exemple

> Mail::raw('MailHog', fn ($message) => $message->to('john@example.com')->from('laravel@example.com')); Symfony\Component\Mailer\Exception\TransportException Connection could not be established with host "mailhog:1025": stream_socket_client(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution.
popotte, il y a 3 ans

Hello :)

Alors déjà pour le docker-compose, il te faut un network

mailhog: .... networks: - app networks: app: driver: bridge

ensuite vérifies que ta config ne soit pas cachée, fais un coup de php artisan config:clear && php artisan config:cache

Ensuit ton erreur se produit au moment de build ton image? aui moment de le lancer (docker compose up sans le -d pour pouvoir voir les logs)? Au moment d'aller sur la page mailhog? Ou au moment d'envoyer un mail?

DevSoftCy, il y a 3 ans

bonjour, en effet, j'allais afficher la solution il me manquait le network, c'est tout
https://github.com/mailhog/MailHog/issues/292
je joins la solution pour ceux qui rencontrerait le problème, merci pour votre aide sujet résolu pour ma part. Ouf ! Et un tout grand merci à vous

popotte, il y a 3 ans

Avec plaisir ;)