Я считаю, что проблемы заключаются в этой строке.
private TemplateEngine springTemplateEngine = new TemplateEngine();
Похоже, вы создаете новый шаблонизатор без какой-либо конфигурации.Обычно, когда я отправляю электронные письма в своих проектах, я использую шаблонизатор, который я настроил в своем классе MvcConfig.Итак, во-первых, позвольте мне показать вам мой класс MvcConfig.
Config
@Configuration
public class MvcConfig extends WebMvcConfigurerAdapter {
@Bean
@Description("Thymeleaf template resolver serving HTML 5")
public ClassLoaderTemplateResolver templateResolver() {
ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver();
templateResolver.setPrefix("templates/");
templateResolver.setCacheable(false);
templateResolver.setSuffix(".html");
templateResolver.setTemplateMode("HTML5");
templateResolver.setCharacterEncoding("UTF-8");
return templateResolver;
}
@Bean
public ServletContextTemplateResolver servletContextTemplateResolverResolver() {
final ServletContextTemplateResolver resolver =
new ServletContextTemplateResolver();
resolver.setPrefix("/WEB-INF/templates/");
resolver.setSuffix(".html");
resolver.setTemplateMode("HTML5");
resolver.setCacheable(false);
resolver.setCharacterEncoding("UTF-8");
return resolver;
}
@Bean
@Description("Thymeleaf template engine with Spring integration")
public SpringTemplateEngine templateEngine() {
SpringTemplateEngine templateEngine = new SpringTemplateEngine();
templateEngine.addTemplateResolver(new UrlTemplateResolver());
templateEngine.addDialect(new SpringSecurityDialect());
templateEngine.setTemplateResolver(templateResolver());
return templateEngine;
}
@Bean
@Description("Thymeleaf view resolver")
public ViewResolver viewResolver() {
ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
viewResolver.setTemplateEngine(templateEngine());
viewResolver.setCharacterEncoding("UTF-8");
return viewResolver;
}
}
Теперь, когда я отправляю и отправляю электронную почту, я использую следующие строки.Как видите, я загружаю шаблонизатор, который я настроил в своем классе MvcConfig.Возможно, это может быть причиной вашей ошибки.
MvcConfig config = new MvcConfig();
TemplateEngine templateEngine = config.templateEngine();