Spring + thymeleaf html电子邮件模板,如何在邮件中添加html标签?

时间:2017-05-27 15:15:34

标签: html spring email thymeleaf

我想使用Thymeleaf引擎从我的应用程序发送html电子邮件。我可以发送HTML电子邮件,当我想绑定到模板时出现问题,让我们说

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head></head>
<body>
    <span th:text="${message}"></span>


</body>
</html>

${message}来自控制器及其国际化消息,所以我就这样得到了

String message = messageSource.getMessage("email_message", null, locale);

而且email_message位于我的messages_xx.properties文件中,具体取决于locale 是否可以在message中添加html标签?

如果我写的话

Hello <b>User</b><br/>Welcome!

在电子邮件中我直接得到此消息,因为标签未被解析

1 个答案:

答案 0 :(得分:0)

尝试Unescaped Text

<span th:utext="${message}"></span>

请注意text - &gt; utext更改。

它不会转义html特殊字符(例如<>&),也就是说,它不会将它们转换为&lt;,'&gt;' ,'&amp;',所以它逐字输出文字。

请注意,如果您插入的文本不是来自绝对可靠的来源,则此类配置会为XSS攻击留下漏洞。当然,如果您只想从自己编写的属性文件中插入一些文本,那就没关系。