【发布时间】:2019-06-23 20:17:15
【问题描述】:
注册的时候,我保存在html中的文本发送到邮件中,我希望将用户的值赋给这些值和要发送的文本
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title th:remove="all">Template for HTML email</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<p th:text="${'Hello Dear,' + ${name}}">
Hello Dear John Doe`</p>`
<p th:text="${'Welcome.Please visit, http://aa.ru/activate-account/' + ${activationCode}}">
Welcome. Please visit http://aa.ru/activate-account/%s
</p>
<p>
Thanks
</p>
</body>
</html>
private TemplateEngine springTemplateEngine = new TemplateEngine();
Context context = new Context();
context.setVariable("name",user.getUsername());
context.setVariable("activationCode",user.getActivationCode());
String text = springTemplateEngine.process("email-template.html",context);
if (!org.springframework.util.StringUtils.isEmpty(user.getEmail()))
{
mailSenderService.send(user.getEmail(), "Activation code", text);
}
这里的邮件应该来消息你好亲爱的萨米尔 欢迎访问,http://aa.ru/activate-account/blabla
templateResolver.setResolvablePatterns(Collections.singleton("html/*"));
templateResolver.setPrefix("/templates/");
templateResolver.setSuffix(".html");
【问题讨论】:
-
email-template.html位于何处?它是直接在templates文件夹内还是在子级别?另外,您是否厌倦了从模板名称中删除.html?通常你不需要那个。 -
你能检查一下吗?
-
是的,你绝对不需要
.html。String text = springTemplateEngine.process("email-template",context); -
String text = springTemplateEngine().process("email-template", context);
-
解决不了问题