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

如何根据操作类型自定义Keycloak executeActions邮件主题?

实现Keycloak执行操作邮件的自定义主题

完全可行,你可以通过修改executeActions.ftl邮件模板来根据传入的操作列表动态设置邮件主题,具体步骤如下:

1. 定位邮件模板文件

Keycloak的默认邮件模板位于安装目录下的themes/base/email/executeActions.ftl。如果使用了自定义主题,建议将base主题的该模板复制到你的自定义主题的email目录下再修改,避免Keycloak升级时覆盖自定义内容。

2. 在模板中添加条件判断逻辑

Keycloak渲染模板时会传入actions变量,这是一个包含你调用execute-actions-email接口时指定的操作名称的列表(比如UPDATE_PASSWORD、VERIFY_EMAIL)。你可以利用FreeMarker的条件语法动态生成主题:

替换模板中原有的主题赋值部分,添加以下逻辑:

<#-- 动态生成邮件主题 -->
<#assign emailSubject>
  <#if actions?seq_contains("UPDATE_PASSWORD")>
    Update your password
  <#elseif actions?size == 1 && actions?seq_contains("VERIFY_EMAIL")>
    Verify your e-mail
  <#else>
    <!-- 匹配不到自定义规则时使用默认主题 -->
    Account Actions Required
  </#if>
</#assign>

<#-- 将动态生成的主题赋值给模板默认的subject变量 -->
<#assign subject=emailSubject>

3. 注意事项

  • 操作名称区分大小写,必须和接口调用时传入的参数完全一致(比如UPDATE_PASSWORD不能写成update_password)
  • 条件判断的顺序会影响结果,比如同时传入UPDATE_PASSWORD和VERIFY_EMAIL时,会优先匹配第一个条件
  • 修改模板后需要重启Keycloak,或在管理控制台的「主题」设置中刷新主题缓存才能生效

内容的提问来源于stack exchange,提问作者Joao Victor Simonassi Farias

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 13:07:03