最近要在spring boot項目中實現按期發送郵件的功能,boot自己有對jmail實現集成,簡單的發送郵件功能也很easy,只要你在工程的項目中添加上所依賴的jar便可。html
這裏有個問題:如今網站都比較流行模板應用,發送郵件內容不固定,也想利用相似網頁模板格式的形式來實現,thymeleaf作爲比較流行的模板引擎,是個不錯的選擇。spring
網上利用spring boot + thymeleaf來實現發送郵件功能的代碼仍是不多的(國內基本沒有),其實實現起來也很容易,下面是主要的步驟:網站
1.配置文件須要添加內容:spa
# THYMELEAF (ThymeleafAutoConfiguration)htm
spring.thymeleaf.check-template-location=true模板引擎
spring.thymeleaf.prefix=classpath:/templates/io
# spring.thymeleaf.excluded-view-names= # comma-separated list of view names that should be excluded from resolution模板
#spring.thymeleaf.view-names= # comma-separated list of view names that can be resolvedclass
spring.thymeleaf.suffix=.html配置
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.content-type=text/html
spring.thymeleaf.cache=true
2.在要實現發送郵件的類裏添加模板
@Autowired
private SpringTemplateEngine templateEngine;
3.加載內容模板
Context context = new Context(Locale.CHINA);
context.setVariable("data", datas);
String text = templateEngine.process("mail-template", context);
注意,這裏不要再添加html後綴,由於在配置文件裏已經配置加載的後綴了。
4.接下來就是jmail的實現了,在此就不在冗述。