溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SpringBoot中如何使用Freemarker構(gòu)建郵件模板

發(fā)布時(shí)間:2021-07-30 16:50:54 來源:億速云 閱讀:119 作者:Leah 欄目:大數(shù)據(jù)

本篇文章給大家分享的是有關(guān)SpringBoot中如何使用Freemarker構(gòu)建郵件模板,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

引入依賴

第一步當(dāng)然是引入freemarker依賴了,如下:

<dependency>
    <groupId>org.freemarker</groupId>
    <artifactId>freemarker</artifactId>
</dependency>

創(chuàng)建郵件模板

接下來就是根據(jù)我們想要的HTML樣式,創(chuàng)建一個(gè)郵件模板,這個(gè)模板是一個(gè)ftl文件,如下:

<p>你好,${name}童鞋,歡迎加入XXX大家庭!您的入職信息如下:</p>
<table border="1" cellspacing="0">
    <tr><td><strong >工號</strong></td><td>${workID}</td></tr>
    <tr><td><strong >合同期限</strong></td><td>${contractTerm}年</td></tr>
    <tr><td><strong >合同起始日期</strong></td><td>${beginContract?string("yyyy-MM-dd")}</td></tr>
    <tr><td><strong >合同截至日期</strong></td><td>${endContract?string("yyyy-MM-dd")}</td></tr>
    <tr><td><strong >所屬部門</strong></td><td>${departmentName}</td></tr>
    <tr><td><strong >職位</strong></td><td>${posName}</td></tr>
</table>
<p><strong >希望在未來的日子里,攜手共進(jìn)!</strong></p>

最終的顯示效果如下:

SpringBoot中如何使用Freemarker構(gòu)建郵件模板

這個(gè)樣式小伙伴可以根據(jù)自己的需求靈活調(diào)整。有一個(gè)要注意的地方: 因?yàn)槲乙呀?jīng)前后端分離了,因此項(xiàng)目中的webapp目錄對我來說已經(jīng)無關(guān)緊要了,創(chuàng)建的意義不大,因此這個(gè)郵件模板我把它放在resources目錄下的ftl目錄下。  

模板解析

有了模板,接下來我只需要向模板中傳入數(shù)據(jù),并將模板ftl解析為html即可,如下:

Configuration cfg = new Configuration(Configuration.VERSION_2_3_27);
cfg.setClassLoaderForTemplateLoading(ClassLoader.getSystemClassLoader(),"ftl");
Template emailTemplate = cfg.getTemplate("email.ftl");
StringWriter out = new StringWriter();
emailTemplate.process(employee,out);

不像在SSM框架中配置freemarker那樣麻煩,這里就幾行代碼:

1.根據(jù)所使用的freemarker版本號創(chuàng)建一個(gè)Configuration對象
2.設(shè)置模板路徑,模板路徑的設(shè)置方法有好幾個(gè),我這里因?yàn)榉旁诹藃esources目錄下,因此使用了setClassLoaderForTemplateLoading方法
3.創(chuàng)建模板,通過process方法進(jìn)行渲染,渲染后的html將放到out這個(gè)變量中,然后我們在郵件中直接將之發(fā)送出去即可。

以上就是SpringBoot中如何使用Freemarker構(gòu)建郵件模板,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI