我使用的是 Mac,我正在尝试让 Keycloak 24.0.2(作为 Docker 容器运行)在用户注册过程中发送电子邮件。我在本地运行 Mailhog,并且已配置 Keycloak 向其发送电子邮件,并已成功测试该连接:
所以我知道Keycloak可以向Mailhog发送电子邮件。
在 Keycloak 领域设置 >> 登录选项卡中,我启用用户注册:
当我打开应用程序并转到经过身份验证的页面时,它会正确地将我重定向到 Keycloak 登录屏幕,我现在可以在底部看到 Register 链接:
到目前为止,一切都很好。我点击“注册”并继续填写注册表:
我单击“注册”,我被正确重定向回我的应用程序。
在Keycloak中,我看到新用户注册事件:
当我单击注册事件时,我看到已创建的新用户:
但是,当我在 Mailhog 中刷新屏幕时,我发现没有发送任何电子邮件。此外,如果我查看 Keycloak 日志(vid
docker logs
),我看不到日志输出、错误等。
我需要做些什么来配置 Keycloak 以在新用户注册时发送电子邮件吗? 我是否忘记了任何步骤?如果没有,任何人都可以发现我哪里出了问题,或者提供故障排除的想法吗?
在联系 Slack 上的 Keycloak 团队后,我得到了这个工作,他们提供了优秀的支持!
我忘记启用Realm Settings >> Email Settings
下的
验证电子邮件。
这样就可以在用户自行注册时发送电子邮件了。
要在管理员在 Keycloak 管理控制台/UI 中创建新用户时让电子邮件发送工作,这有点棘手,但我也成功了:
Required user actions
下拉列表中选择 验证电子邮件
Credentials
选项卡下添加密码(临时或永久,没有区别)
邀请新用户”功能。