无法从 keycloak 建立到 Mailhog 的 SMTP 连接
can't establish SMTP connection to the Mailhog from keycloak
我有一个 docker-compose,它包含 Keycloak 和 Mailhog。我在 Keycloak 中配置了 Mailhog,但它不起作用。我在 Powershell 中尝试了 MailHog,它可以工作。谁能帮我弄清楚为什么它不起作用?
Keycloak 上的 Mailhog 配置步骤:
- 首先,我为当前的 Keycloak 用户添加电子邮件地址 (master@test.com)。
- 然后我像下面这样配置电子邮件
当我点击“测试连接”时,它显示“错误!无法发送电子邮件”错误消息。但我尝试使用下面的 cmd 发送电子邮件。
Send-MailMessage -To "master@test.com" -From "sender@test.com" -Subject "Test email1" -SmtpServer "localhost" -Port 1025
Docker 撰写文件
version: '3.6'
services:
mailhog-keycloak:
image: mailhog/mailhog
container_name: mailhog
logging:
driver: 'none' # disable saving logs
ports:
- 1025:1025 # smtp server
- 8025:8025 # web ui
networks:
- dev_network
postgres-keycloak:
image: postgres:9.6-alpine
container_name: postgres
environment:
POSTGRES_DB: keycloak
POSTGRES_USER: keycloak
POSTGRES_PASSWORD: password
networks:
- dev_network
keycloak:
image: jboss/keycloak:10.0.2
container_name: keycloak_10
environment:
DB_VENDOR: POSTGRES
DB_ADDR: postgres
DB_DATABASE: keycloak
DB_USER: keycloak
DB_PASSWORD: password
KEYCLOAK_USER: admin
KEYCLOAK_PASSWORD: admin
ports:
- 8080:8080
external_links:
- postgres
volumes:
- ./themes/keycloak:/opt/jboss/keycloak/themes/shoping
- postgres-keycloak
networks:
- dev_network
networks:
dev_network:
问题是 localhost
- 每个容器都有自己的命名空间,因此每个容器都有自己的 localhost
,它独立于其他容器本地主机。
在 Host
字段中使用 mailhog
(也许 mailhog-keycloak
)而不是 localhost
- 这是一个 container/service 名称,应该解析当前的 mailhog 容器IP,所以应该可以。
我有一个 docker-compose,它包含 Keycloak 和 Mailhog。我在 Keycloak 中配置了 Mailhog,但它不起作用。我在 Powershell 中尝试了 MailHog,它可以工作。谁能帮我弄清楚为什么它不起作用?
Keycloak 上的 Mailhog 配置步骤:
- 首先,我为当前的 Keycloak 用户添加电子邮件地址 (master@test.com)。
- 然后我像下面这样配置电子邮件
当我点击“测试连接”时,它显示“错误!无法发送电子邮件”错误消息。但我尝试使用下面的 cmd 发送电子邮件。
Send-MailMessage -To "master@test.com" -From "sender@test.com" -Subject "Test email1" -SmtpServer "localhost" -Port 1025
Docker 撰写文件
version: '3.6'
services:
mailhog-keycloak:
image: mailhog/mailhog
container_name: mailhog
logging:
driver: 'none' # disable saving logs
ports:
- 1025:1025 # smtp server
- 8025:8025 # web ui
networks:
- dev_network
postgres-keycloak:
image: postgres:9.6-alpine
container_name: postgres
environment:
POSTGRES_DB: keycloak
POSTGRES_USER: keycloak
POSTGRES_PASSWORD: password
networks:
- dev_network
keycloak:
image: jboss/keycloak:10.0.2
container_name: keycloak_10
environment:
DB_VENDOR: POSTGRES
DB_ADDR: postgres
DB_DATABASE: keycloak
DB_USER: keycloak
DB_PASSWORD: password
KEYCLOAK_USER: admin
KEYCLOAK_PASSWORD: admin
ports:
- 8080:8080
external_links:
- postgres
volumes:
- ./themes/keycloak:/opt/jboss/keycloak/themes/shoping
- postgres-keycloak
networks:
- dev_network
networks:
dev_network:
问题是 localhost
- 每个容器都有自己的命名空间,因此每个容器都有自己的 localhost
,它独立于其他容器本地主机。
在 Host
字段中使用 mailhog
(也许 mailhog-keycloak
)而不是 localhost
- 这是一个 container/service 名称,应该解析当前的 mailhog 容器IP,所以应该可以。