top
Loading...
Java中使用XML創建EMAIL模板
天極IT資訊短信服務 電腦小技巧
資費:包月5元
手機:
介紹:細處著手,巧處用功。高手和菜鳥之間的差別就是:高手什么都知道,菜鳥知道一些。電腦小技巧收集最新奇招高招,讓你輕松踏上高手之路。(首月免費)


發送郵件是web應用系統的一個基本功能。一般來說,郵件都有特定的類型,比如說密碼提醒,歡迎信息,訂單確認或者收信確認。盡管不同應用郵件的內容各不相同,但是發送郵件的過程基本上是一樣的。 構建消息,發送給郵件服務器,發送。

當使用java開發的時候,我們常常使用JavaMail API 來連接郵件服務器發送郵件。但是這種方式過于笨重(主要由郵件的靈活性造成的),所以當你需要多次使用這種方式發送郵件的時候,最好寫一個wrapper.根據使用的方式不同,wrapper可以是發送某一特定的郵件,比如說密碼提醒,或者作為一種通用的模式,接受主題,接收人,郵件內容作為參數。

一旦使用wrapper發送郵件,你需要一個自主構建消息的系統。讓我們使用密碼提醒作為例子。基本上所有的郵件都包含主題,內容和接收人。當我們發送密碼提醒郵件的時候,用戶地址和密碼是從某個記錄登陸信息的知識庫里提取的。主題和內容需要和數據庫提取的數據合并,并且被保存在某個地方。系統設計最大的問題就是在什么地方保存這種類型的字符串。在很多情形下,字串被保存在屬性文件里,這種方式分離了數據和源代碼,并且使本地化更加容易。我在很多web應用系統中使用了這種存儲機制,但很不幸的是,這種方式有很多缺陷。

以下是利用屬性文件存儲郵件字串不合適的原因:

·屬性文件使用一種非常簡單的數據結構-名稱和值組合。當你需要很多值對應一個名稱的時候這種結構就不合適了。比如,一個郵件有4個接收人,3個抄送人,使用屬性文件很難解決這個問題。

·屬性文件的格式非常嚴格。名稱和值必須在同一行上,所以當你編輯文件的時候長字符串是很難處理的。比如,把一個郵件的所有內容放進屬性文件是一件多么痛苦的事情。如果你希望值的內容包括換行,你必須使用

另一種選擇是使用XML作為郵件模板,這也是本篇文章所要討論的內容。XML為你構建模板提供了極大的靈活性,并且它不會有屬性文件所有的格式限制,因此這種方式很容易處理長字符串。XML主要弱勢就是它處理起來比屬性文件復雜。使用屬性文件的時候,裝載文件和裝載后訪問文件非常容易。而裝載XML文件和使用java提供的多個XML處理庫之一處理XML文件就需要更多的工作了。

這篇文章提供了一個通用的模板使你能夠使用XML文件創建模板并且發送郵件,希望由此能夠減輕這個過程的痛苦。在這個模板里,我將使用Jakarta 項目里的Commons Digester 包來處理XML,使用JavaMail API發送郵件。

作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗