为什么无法与 Symfony 上的主机和 Docker 上的 Mailhog 建立连接

Why connexion could not be established with host on Symfony and Mailhog on Docker

我有这个异常,我通过 Symfony 发送邮件 SwiftMailer:

Exception occurred while flushing email queue: Connection could not be established with host 127.0.0.1 :stream_socket_client(): unable to connect to 127.0.0.1:1025 (Connection refused)

我可以访问 Mailhog 界面。容器已启动,端口似乎已打开并准备就绪。

请参阅下面我的 docker-Mailhog 作曲家:

version: '3'
services:
    mailhog:
        restart: always
        image: mailhog/mailhog:latest
        container_name: mailhog
        ports:
            - 1025:1025
            - 8025:8025
        volumes:
            - /var/run/docker.sock:/tmp/docker.sock:ro

还有我的 Swift 邮件环境配置:

MAILER_TRANSPORT=smtp
MAILER_HOST=127.0.0.1
MAILER_PORT=1025
MAILER_USER=null
MAILER_PASSWORD=null

为什么我无法访问 Mailhog SMTP?

我认为它来自 Docker,但我如何确定?我错过了什么?

对于主机,您应该使用服务名称而不是 127.0.0.1

MAILER_HOST=mailhog

解决问题:

而不是像 Artem 所说的 127.0.0.1 => MAILER_HOST=mailhog。

并添加:

external_links:
            - mailhog

所有项目的 docker-compose.yml 文件中的容器。