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
Le port ne doit pas être bon.
Tu as vu cet article ?
https://dev.to/ibrarturi/setup-docker-container-for-mailhog-to-use-it-with-laravel-app-4g00
Et il est conseillé de mettre les ports entre guillemets :
ports:
- "1025:1025"
- "8025:8025"
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.
https://aregsar.com/blog/2020/laravel-app-with-mail-server-in-docker/
Essaie de changer le port hote :
ports:
- "8003:1025"
- "8100:8025"
et de mettre MAIL_HOST=localhost
?
Sinon j'utilise MailTrap avec Laravel et ça marche plutôt bien. ^^
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?
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