Bonjour,

Pour la conception d'un site pour un ami j'utilise Symfony 6.3 avec Docker. L'ensemble fonctionne correctement à l'exeception de l'envoie de mail. J'utilise Maildev pour la reception des mails.
Ayant configurer auparavant Maildev directement dans le container "www" (voir ci-dessous) je recevais bien les mails. Maintenant que j'utilise un container Maildev, j'ai l'impression que celui-ci n'est pas lié à mon conteneur "www". J'ai pour mis dans le même réseau que les autres.

Pour infos, je débute dans Docker.

version: '3'

services:
  db:
    image: mysql
    container_name: MYSQL
    restart: always
    volumes:
      - db-data:/var/lib/mysql
    environment:
      MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
    networks:
      - dev

  phpmyadmin:
    image: phpmyadmin
    container_name: phpmyadmin
    depends_on:
      - db
    ports:
      - 8080:80
    environment:
      PMA_HOST: db
    networks:
      - dev

  www:
    build: docker
    container_name: www
    ports:
      - "8000:80"
    volumes:
      - ./docker/vhosts:/etc/apache2/sites-enabled
      - ./:/var/www
    networks:
      - dev

  mail:
    image: maildev/maildev
    container_name: Maildev
    ports:
      - "1080:1080"
      - "1025:1025"
    environment:
      MAILDEV_SMTP_PORT: 1025
      MAILDEV_WEB_PORT: 1080
    networks:
      - dev  

networks:
  dev:

volumes:
  db-data:

Ce que je veux

Je souhaiterai pouvoir recevoir mes mails dans Maildev. Je pense que mon docker-compose est mal configuré au niveau de Maildev. Il n'est pas lié au container "www", mais je ne sais pas comment faire.

Ce que j'obtiens

Connection could not be established with host "localhost:1025": stream_socket_client(): Unable to connect to localhost:1025 (Cannot assign requested address)

1 réponse


Bonjour à tous,

Finalement j'ai réussi à trouver. Le docker-compose est bien correcte. Il fallait seulement écrire dans le fichier .env :

MAILER_DSN=smtp://Maildev:1025

au lieu de

MAILER_DSN=smtp://localhost:1025

Avec le recul s'est évident, mais bon.

Merci à tous.