我正试着在我的keycload流上写一些集成测试。为了验证注册和忘记密码的邮件,我想使用绿色邮件。
我的绿色邮件docker配置(在docker compose中):
greenmail:
image: greenmail/standalone:1.5.7
environment:
- GREENMAIL_OPTS=-Dgreenmail.setup.test.all -Dgreenmail.hostname=0.0.0.0 -Dgreenmail.auth.disabled -Dgreenmail.verbose
ports:
- "3025:3025"
- "3143:3143"和我的keycloak电子邮件配置:

当我点击“测试连接”,它不工作,我得到我的日志:

错误消息(针对无法打开/显示图像的用户):
Caused by: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: localhost, 3025; timeout 1000;
nester exception is: Connection refused有人知道我错过了什么吗?
发布于 2018-08-23 03:22:09
问题不是绿色邮件或密钥伪装,而是密钥伪装配置中使用的docker =>本地主机是密钥伪装docker容器的本地主机映射,而不是docker主机(即运行它的系统)的本地主机映射。将keycloak的smtp主机更改为'host.docker.internal‘解决了问题=>这是在docker容器中获取主机ip地址的方法
https://stackoverflow.com/questions/51937997
复制相似问题