我正在自定义电子邮件模板以进行密码重置。我希望从电子邮件资源目录(即 \ themes \\ email \ resources \ img \ marketing.jpg
)访问徽标登录模块可以通过 $ {url.resourcesPath}
请有人指出如何访问password-reset.ftl中的电子邮件资源路径
版本 keycloak-4.0.0.Final
答案 0 :(得分:0)
我自己遇到了这个问题,经过一番搜索,我发现this email thread:
嗨社区
我正在寻找一种将图像添加到自定义密钥斗篷电子邮件主题的方法。我们公司的模板HTML使用作为附件发送的图像。因此,我想将所需的图像附加到电子邮件中。如果不可能,那么将图像添加到HTML模板的正确方法是什么?
不幸的是,当前文档未声明任何内容: http://www.keycloak.org/docs/3.3/server_development/topics/themes.html
问候 乔纳森
我认为您今天不能开箱即用,但是您应该能够 创建执行此操作的自定义电子邮件发件人提供程序。查看有关的文档 有关创建自定义提供程序的详细信息(以及示例的快速入门)。 然后在我们的仓库中查看EmailSenderProvider和实现。
嗨, 如果您的目标是在邮件中显示某种徽标或某些图片,那么您可以 可以使用
<img src="data:image/png;base64,.... "/>
这并不完美,因为某些电子邮件客户端(例如gmail)不会显示此类信息 图像,但是在找到更好的解决方案之前它可以解决问题。 BR,杰罗姆。
嗨,
感谢您的建议。在阅读了很多有关电子邮件客户端对图像嵌入电子邮件的支持之后(例如,Jérôme的解决方案被Outlook阻止),我认为最好的解决方案是实现自己的电子邮件发件人提供程序并将图像链接到附件(使用CID)。
@Stian Thorgersen:我的理解是,我将不得不基于FreemarkerEmailTemplateProvider重写EmailTemplateProvider(或者我可以从这个扩展),以便从路径(例如)获取附件。 / attachments /并将它们传递给EmailSenderProvider,对吗?
问候 乔纳森
因此,尽管the documentation说您可以在自定义主题中使用<img src="${url.resourcesPath}/img/image.jpg">
,但这实际上不适用于电子邮件模板。