pom包裡面新增spring-boot-starter-mail包引用
<dependencies
>
<
dependency
>
<
groupid
>org.springframework.boot
groupid
>
<
artifactid
>spring-boot-starter-mail
artifactid
>
dependency
>
dependencies
>
spring.mail.host=smtp.qiye.163.com //郵箱伺服器位址spring.mail.username=***@oo.com //使用者名稱
spring.mail.password=xxyyooo //密碼
spring.mail.default-encoding=utf-8
mail.frommail.addr=***@oo.com //以誰來傳送郵件
@componentpublic
class mailserviceimpl implements
mailservice")
private
string from;
@override
public
void
send******mail(string to, string subject, string content)
catch
(exception e) }}
@runwith(springrunner.class至此乙個簡單的文字傳送就完成了。)@springboottest
public
class
mailservicetest
}
其它都不變在mailservice新增sendhtmlmail方法.
publicvoid
sendhtmlmail(string to, string subject, string content)
catch
(messagingexception e)
}
在測試類中構建html內容,測試傳送
@test在mailservice新增sendattachmentsmail方法.public
void testhtmlmail() throws
exception
publicvoid
sendattachmentsmail(string to, string subject, string content, string filepath)
catch
(messagingexception e)
}
新增多個附件可以使用多條helper.addattachment(filename, file)
在測試類中新增測試方法
@test郵件中的靜態資源一般就是指,在mailservice新增sendattachmentsmail方法.public
void
sendattachmentsmail()
public在測試類中新增測試方法void
sendinlineresourcemail(string to, string subject, string content, string rscpath, string rscid)
catch
(messagingexception e)
}
@testpublic
void
sendinlineresourcemail()
新增多個可以使用多條到此所有的郵件傳送服務已經完成了。和
helper.addinline(rscid, res)
來實現
上面傳送郵件的基礎服務就這些了,但是如果我們要做成乙個郵件系統的話還需要考慮以下幾個問題:
我們會經常收到這樣的郵件:
尊敬的neo使用者:
...
其中只有neo這個使用者名稱在變化,其它郵件內容均不變,如果每次傳送郵件都需要手動拼接的話會不夠優雅,並且每次模板的修改都需要改動**的話也很不方便,因此對於這類郵件需求,都建議做成郵件模板來處理。模板的本質很簡單,就是在模板中替換變化的引數,轉換為html字串即可,這裡以thymeleaf
為例來演示。
1、pom中匯入thymeleaf的包
<2、在resorces/templates下建立emailtemplate.htmldependency
>
<
groupid
>org.springframework.boot
groupid
>
<
artifactid
>spring-boot-starter-thymeleaf
artifactid
>
dependency
>
doctype html3、解析模板並傳送>
<
html
lang
="zh"
xmlns:th
="">
<
head
>
<
meta
charset
="utf-8"
/>
<
title
>title
title
>
head
>
<
body
>
您好,這是驗證郵件,下面的鏈結完成驗證,
<
br/>
<
a href
="#"
th:href
="@(id=$) }"
>啟用賬號
a>
body
>
html
>
@test因為各種原因,總會有郵件傳送失敗的情況,比如:郵件傳送過於頻繁、網路異常等。在出現這種情況的時候,我們一般會考慮重新重試傳送郵件,會分為以下幾個步驟來實現:public
void
sendtemplatemail()
很多時候郵件傳送並不是我們主業務必須關注的結果,比如通知類、提醒類的業務可以允許延時或者失敗。這個時候可以採用非同步的方式來傳送郵件,加快主交易執行速度,在實際專案中可以採用mq傳送郵件相關引數,監聽到訊息佇列之後啟動傳送郵件。
之前學習的時候是定時和發郵件結合在一起的,就定時來發的郵件!多了解了郵件的模板!嘻嘻!
springboot整合 郵件服務
1.匯入依賴 org.springframework.boot groupid spring boot starter mail artifactid dependency 2.配置檔案spring.mail.host smtp.163.com 這只是網易163的,需要自己配置 spring.mai...
spring boot 傳送郵件
簡單幾步,實現在spring boot中傳送郵件 1 引入依賴 org.springframework.boot spring boot starter mail spring mail host smtp.exmail.qq.com username 使用者名稱 password 密碼 prope...
springboot傳送郵件
pom導包 繼承springboot 新增springbootmail依賴 springboot測試和springboot配置依賴 org.springframework.boot spring boot starter parent 2.0.7.release org.springframewor...