当时用的是开源的第三方插件mail和thymeleaf做发送服务,显然这样子你需要配置一些东西,麻烦!!!接触了spring boot以后,显然有更好的解决方案,我们只需要引入spring-boot-starter-mail模块就实现了自动化配置。
好,废话不扯,言归正题(文中大部分是部分代码,详细代码见git)。
jdk1.7、maven、eclipse、springboot1.5.2、spring-boot-starter-mail、spring-boot-starter-thymeleaf,spring-boot-starter-freemarker
在工程中的pom.xml中引入以下依赖:
application.properties中配置以下内容:
首先我们,封装一个email实体email.java:
既然用了spring,就按照spring的方式来,先定义一个接口imailservice,接着是实现mailserviceimpl。
以下代码,实现了四种方式:纯文本,富文本(图片,附件),freemarker模版以及thymeleaf模版。
这里需要注意的是,springboot 1.4.0以后 velocity 废弃了,官方建议用freemaker。而thymeleaf是博主自己实现的,显然效率没有freemaker高(评测对比见文章底部)。
老司机带你去开车springbootmailapplication.java:
好了,不出意外,这四种方式应该绝对是没问题的,小伙伴们就等着右下角弹窗窗吧。
最后,做了一个小小的评测,生成模版时间对比(1000次循环)
thymeleaf用时:2686ms
freemarker用时:498ms
对比测试,建议使用freemarker模版。
作者: 小柒
本文版权归作者和云栖社区所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 如有问题, 可邮件([email protected])咨询。