微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

KeyCloak 无法使用状态为 500 的 SMTP 发送电子邮件

如何解决KeyCloak 无法使用状态为 500 的 SMTP 发送电子邮件

我在 Kubernetes 集群中运行 Keycloak。身份验证有效,但我需要设置电子邮件才能发送电子邮件以进行验证和密码重置。

我有SendGrid set up as an SMTP Relay。当我使用 SendGrid java client 发送邮件时,这些设置(主机、端口和 api 密钥)起作用。但是,在 KeyCloak 中按 Test connection 时,我得到:

[Error] Failed to load resource: the server responded with a status of 500 () 
[Debug] Remove message (services.js,line 14)
[Debug] Added message (services.js,line 15)
[Error] Can't find variable: error
https://<domain>/auth/resources/ong8v/admin/keycloak/js/controllers/realm.js:76 – "Possibly unhandled rejection: {}"
[Debug] Remove message (services.js,line 14)

这里没什么可做的。我为当前登录用户设置了一个电子邮件地址。我还尝试过重置密码,以防 Test connection 功能被破坏,但这也不起作用。

电子邮件Realm Settings 设置用户如下:

host: smtp.sendgrid.net
port: 587
from: test@<domain>
Enable StartTLS: true
Username: "apikey"
Password: <api key>

知道有什么问题吗?或者怎么查?例如,也许我可以以某种方式获得更有意义的错误消息。


编辑:

我得到了服务器日志。

Failed to send email: com.sun.mail.util.MailConnectException: Couldn't connect to host,port: smtp.sendgrid.net,587; timeout 10000;
nested exception is: java.net.socketTimeoutException: connect timed out

编辑 2:

我已经尝试使用 Telnet 使用完全相同的设置发送邮件,并且有效。很明显,这是 Keycloak 或其底层 Java 库导致发送电子邮件出现问题的原因。

解决方法

事实证明 Keycloak 可以正常工作并且电子邮件被托管服务提供商屏蔽了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。