You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ory Kratos v1.1.0验证邮件缺失验证码与链接问题求助

Ory Kratos v1.1.0验证邮件缺失验证码与链接的解决方法

问题场景

已在Google Cloud Run上成功部署Ory Kratos v1.1.0,执行验证流程时邮件可正常发送,但邮件内容仅显示:

Hi, please verify your account by entering the following code: or clicking the following link:

验证码与链接完全缺失。

核心原因

  1. 未配置SERVE_PUBLIC_BASE_URL:Kratos依赖该参数生成验证链接,同时该配置缺失会导致邮件模板中的{{ .Code }}和{{ .Link }}变量无法被正确渲染填充。
  2. 验证流程的公共URL基础缺失,无法生成有效验证链接并注入邮件模板。

解决步骤

1. 配置SERVE_PUBLIC_BASE_URL环境变量

在Google Cloud Run的Kratos服务配置中,添加环境变量SERVE_PUBLIC_BASE_URL,值为你的Kratos公共服务域名(示例:https://your-kratos-service.run.app)。该URL是Kratos对外暴露的公共端点,用于生成所有流程的跳转链接。

2. 完善验证流程UI URL配置

通过环境变量SELFSERVICE_FLOWS_VERIFICATION_UI_URL配置前端验证页面的URL(示例:https://your-frontend.com/verify),确保验证完成后用户能正确跳转到前端页面。

3. 重启服务

保存环境变量配置后,重启Google Cloud Run上的Kratos服务,使新配置生效。

4. 验证修复效果

触发一次账号验证流程,检查邮件内容是否已正确显示验证码和链接。若问题仍存在,查看Kratos的debug日志(配置已开启log.level: debug),排查是否有模板渲染或链接生成相关的错误信息。

额外检查点

  • 确认COURIER_SMTP_CONNECTION_URI环境变量已正确配置(用户配置中该字段为注释状态,需通过环境变量设置SMTP连接信息,不过邮件能正常发送说明该部分已配置)。
  • 检查identity.schema.json是否包含email字段,确保Kratos能正确获取用户邮箱并触发验证流程。

内容的提问来源于stack exchange,提问作者TheHiggsBroson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 18:23:15