我使用thymeleaf通过邮件发送消息,使用contex()设置具有用户字段的变量。有什么问题?问题是,当您从邮件的模板发送数据时,整个HTML代码都会被发送,但您只需要一条消息。我想看代码会更清楚
Context context = new Context();
context.setVariable("name", user.getUsername());
context.setVariable("activationCode", user.getActivationCode());
MvcConfig mvcConfig = new MvcConfig();
TemplateEngine templateEngine = mvcConfig.templateEngine();
String text = templateEngine.process("email-template",context);
if (!org.springframework.util.StringUtils.isEmpty(user.getEmail())) {
//TODO: move to template
mailSenderService.send(user.getEmail(), "Activation code", text);
}
@Bean
@Description("Thymeleaf template engine with Spring integration")
public SpringTemplateEngine templateEngine() {
SpringTemplateEngine templateEngine = new SpringTemplateEngine();
templateEngine.addTemplateResolver(new UrlTemplateResolver());
templateEngine.setTemplateResolver(templateResolver());
return templateEngine;
}