docker - 为什么无法与 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,但我怎么能确定呢?我错过了什么?
解决方案
对于主机,您应该使用服务名称而不是 127.0.0.1
MAILER_HOST=mailhog
推荐阅读
- reactjs - 如何用酶、柴测试 HOC
- appium - Appium - 遇到内部错误运行命令:错误:zipAlignApk 失败
- mysql - 如何在一个查询中对 2 个相关表进行排序,这两个表都具有 order 字段
- escaping - 我们应该转义还是不转义 YAML 文件中 HTML 标记中的双引号?
- google-cloud-dataflow - 在 DirectRunner 上运行时,窗口化似乎有效,但在 Cloud Dataflow 上运行时无效
- javascript - 如何获取其值等于 True 的数组的键
- javascript - 如何在 JS 中编辑 JavaScript 变量的 CSS?
- excel - 即使函数返回 False,If 语句也计算为 True
- java - 如何添加?它扩展了 List 中的某个类
- sql - 您好,目前正在学习,我需要一些帮助。我需要编写一个查询,该查询将返回一个带有选择列的表