Java發郵件使用模板實踐 替換配置檔案中的引數

2021-09-22 22:27:25 字數 936 閱讀 7269

業務中經常會遇見郵件傳送場景,前期處理郵件內容時,想到的就是通過字串拼接的方式,如下:

string content =

"使用者["

+ user +

+ project +

"請及時處理."

雖說上述處理方式沒有大問題,但從系統設計的層面上說,這種方式屬於硬編碼,後期難以擴充套件,比如工程中涉及比較多的郵件傳送,每種具體的業務都去這麼拼接內容,若需要修改郵件描述時,就比較麻煩,不靈活。

我們期望使用配置檔案的方式來配置郵件內容,將郵件中的變數定義為轉義符。

mail_template.properties

在完成properties檔案定義後,需要在工程啟動時,載入配置檔案。

@propertysource

("classpath:mail_template.properties"

)@configuration

public

class

springconfigproperty

}

完成配置檔案載入後,就是處理替換邏輯,這裡建立乙個messageformat的工具類,來處理內容替換:

public

class

mailutil

,獲得特定場景中的郵件內容

** @param template 郵件模板

* @param params 引數列表

* @return 替換後的郵件內容

* @author ***x

*/public

static string formatmailcontentfromtemplate

(string template, list

params)

}

參考:

1、

使用php發郵件二(發郵件流程)

傳送郵件過程 1 配置好你的郵箱服務 qq郵箱為例 2 使用socket連線,建立乙個套接字 fp fsockopen hostname,port,errno,errmsg,30 3 向對方郵件伺服器發出的標識自己的身份的命令fputs fp,ehlo ki r n 4 即將進行身份認證fputs ...

使用nodemailer發郵件

最近在學node,就想著node能不能像後台那樣傳送郵件,結果找到了nodemailer這個發郵件的外掛程式,下列 使用qq郵箱發郵件 use strict const nodemailer require nodemailer let transporter nodemailer.createtr...

java發郵件工具類(3)

public boolean setcopyto string copyto try return true catch exception e 設定信的內容 param mailbody return boolean public boolean setbody string mailbody c...