在生活中我們經常會遇到,註冊完**後會收到乙份郵件,只有當我們點選了郵件中的啟用鏈結才能正常登入**。
郵件模版通常如下:
尊敬的***使用者:這裡使用者名稱和啟用鏈結是變化的,其他郵件內容均不變,如果每次傳送郵件都需要手動拼接的話會不夠優雅,並且每次模板的修改都需要改動**的話也很不方便,因此對於這類郵件需求,都建議做成郵件模板來處理。模板的本質很簡單,就是在模板中替換變化的引數,轉換為 html 字串即可,這裡以
thymeleaf
為例。
org.springframework.bootspring-boot-starter-thymeleaf
您好,這是驗證郵件,下面的鏈結完成驗證,啟用賬號
@overridepublic void sendtemplatemail(string to, string subject,mapmap)
string emailcontent = templateengine.process("emailtemplate", context);
sendhtmlmail(to,subject,emailcontent);
}
@testpublic void testtemplatemail() throws exception
2020-06-12 07:59:59.315 info 7728 --- [ main] c.example.service.impl.mailserviceimpl : html郵件傳送成功
生產中,會因各種原因導致郵件傳送失敗,例如:郵件傳送過於頻繁,網路異常等。這種情況下,我們需要考慮郵件傳送的重試機制。
實現思路:
1、傳送郵件前記錄資料庫,並登記傳送狀態為未傳送。很多時候傳送郵件並不是我們的主要的關注的業務,如通知類、提醒類郵件傳送,這些可以允許延時或失敗,可以採用非同步傳送,加快主交易執行速度。實際專案中可以採用mq等第三方中介軟體來做非同步機制處理。2、呼叫傳送郵件介面,將結果更新傳送狀態。
3、定時任務掃瞄結果狀態為失敗的,且重試次數小於3,每次重試將更新重試次數值。
Springboot傳送美觀的HTML郵件
上篇文章我們知道了如何利用springboot傳送乙個基本的html郵件,現在問題來了不美觀怎麼辦呢?我們可以自己寫乙個html模板然後利用thymeleaf載入資料。建立mailtemplate.ftl 作為郵件模版 只需要修改我們上次的imailserviceimpl其中傳送html郵件的方法 ...
170706 逆向 南郵CTF平台 1 3
1625 5 王子昂 總結 2017年7月6日 連續第277天總結 a.南郵ctf逆向 1 3 b.1.拖入ida,入門級的re,直接f5看到main的 很簡單,寫入記憶體的flag 剛開始看的時候沒理解galf是什麼意思,照著輸卻報錯 後來下斷到記憶體裡看,發現是大端序的原因。每個變數的四位元組需...
Spring Boot 系列教程
spring boot 系列教程 spring boot 快速入門教程 spring boot 整合swagger文件 spring boot 整合mybatis框架 spring boot 實現mybatis分頁 spring boot 整合druid資料來源 spring boot 實現myba...