1. 程式人生 > >jfinalQ開發教程07-qiao-util.jar:郵件和簡訊

jfinalQ開發教程07-qiao-util.jar:郵件和簡訊

email.png

郵件服務

郵件服務是大部分系統中不可或缺的一個服務,jfinalQ中採用mail.jar實現傳送郵件功能。

QMailUtil

com.uikoo9.util.function.QMailUtil對mail.jar的常見操作做了封裝,如下:

public class QMailUtil {
	
	private static final Logger logger = LoggerFactory.getLogger(QMailUtil.class);
	
	/**
	 * 傳送郵件,通用
	 * @param mailInfo 郵件資訊
	 * @param isHtml 是否html格式
	 * @return 結果
	 */
	public static boolean sendMail(String from, String to, String title, String content, boolean isHtml){
	}
	
	/**
	 * 傳送郵件,普通
	 * @param mailInfo 郵件資訊
	 * @return 結果
	 */
	public static boolean sendTextMail(String from, String to, String title, String content){
		return sendMail(from, to, title, content, false);
	}
	
	/**
	 * 傳送郵件,html
	 * @param mailInfo 郵件資訊
	 * @return 結果
	 */
	public static boolean sendHtmlMail(String from, String to, String title, String content){
		return sendMail(from, to, title, content, true);
	}
	
	/**
	 * 生成一個郵件訊息,內部使用
	 * @param mailInfo 郵件資訊
	 * @param isHtml 是否html格式
	 * @return 郵件訊息
	 */
	private static Message generateMailMessage(String from, String to, String title, String content, boolean isHtml){}
	
}

大概就是有一個生成郵件訊息方法,傳送郵件(普通,html)方法。


企業郵箱

有了這個util之後,你還需要一個企業郵箱,個人推薦163的企業郵箱,使用和介面都比較簡單。

然後你需要在config.properties中配置mail相關資訊:

# mail properties
mail.smtp.host=smtp.ym.163.com
mail.smtp.port=25
mail.smtp.auth=true
mail.user.username=
mail.user.password=
mail.user.from=


一段示例

下面是一段傳送郵箱校驗的程式碼:

private boolean sendMail(String usermail){
		try {
			String title = "uikoo9.com-註冊確認";
			String token = QEncodeUtil.md5Encrypt(usermail + QDateUtil.format(new Date(), "yyyyMMdd"));
			String url = "http://uikoo9.com/reg/regConfirm?mail=" + usermail + "&token=" + QEncodeUtil.urlEncode(token);
			
			StringBuilder sb = new StringBuilder();
			sb.append("歡迎使用“uikoo9.com”<br/><br/>");
			sb.append("請點選確認連結:<a href=\"" + url + "\" target=\"_blank\">" + url + "</a><br/><br/>");
			sb.append("確認連結有效期:1天<br/><br/>");
			sb.append("系統郵件,請勿回覆");
			
			return QMailUtil.sendHtmlMail(from, usermail, title, sb.toString());
		} catch (Exception e) {
			logger.error(QStringUtil.fromException(e));
			return false;
		}
	}


簡訊服務

雖然人們使用簡訊的頻率日漸減少,但是各種系統和app中簡訊校驗卻必不可少,

與mail服務免費不同,sms服務一般都是收費的,而且都必須有企業認證,

這裡推薦一個不需要企業認證的sms服務,速度還是比較快的,收費也相對較低,

中國網建sms簡訊服務:http://sms.webchinese.cn/Login.shtml


實現

mail服務需要單獨的jar,這裡只需要模仿http請求,請求服務平臺的介面即可。

sms相關操作已經封裝到:com.uikoo9.util.external.QSMSUtil中,

程式碼比較簡單,就不列舉了。


注意

同樣的需要在config.properties中新增sms相關資訊,如下:

# sms properties
sms.url=http://utf8.sms.webchinese.cn/
sms.uid=
sms.key=
sms.to=
sms.sign=

另外還有一點注意的是,sms服務一般需要你向服務商申請固定的模版,

你傳送簡訊只能在這些模版中選擇。


jfinalQ2.0

官網:http://uikoo9.com/jfinalQ

原始碼:https://github.com/uikoo9/jfinalQ


更多精彩內容:http://uikoo9.com/


求打賞(長按圖片即可識別)~
微信 捐助列表:http://uikoo9.com/donate/