首页 > 解决方案 > 为什么无法与 Symfony 上的主机和 Docker 上的 Mailhog 建立连接

问题描述

我有这个例外,我通过 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界面。容器已启动,端口似乎已打开并准备就绪。

请参阅下面我的 Mailhog docker-composer:

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 邮件程序 env 配置:

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

为什么我无法访问 Mailhog SMTP ?

我认为它来自 Docker,但我怎么能确定呢?我错过了什么?

标签: dockersymfonysmtpswiftmailermailhog

解决方案


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

MAILER_HOST=mailhog


推荐阅读