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


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

Avec plaisir ;)