Java Mail API

          綜述:Java Mail API的開發(fā)是SUN為Java開發(fā)者提供公用API框架的持續(xù)努力的良好例證。提倡公用框架,反對受限于供應(yīng)商的解決方案,充分預(yù)示著一個日益開放的開發(fā)環(huán)境的建立。
             Java Mail API的結(jié)構(gòu)本身證明了它的開發(fā)者的基本目標之一--軟件開發(fā)的工作量應(yīng)該取決于應(yīng)用程序本身的復(fù)雜程度以及開發(fā)者所要求的控制程度。換句話說,Java Mail API盡可能地保持簡單。乍看起來,Java Mail API所擁有的類總數(shù)以及類之間的關(guān)系可能讓人誤解為要花費漫長的學習時間。實際上,一旦正式開始使用,你就會發(fā)現(xiàn)該API不失為在應(yīng)用程序中加入健壯的 郵件/通訊支持的簡單工具。 

          建立JavaMail使用環(huán)境,需要哪些軟件

            首先,需要安裝 JavaMail API。現(xiàn)在有兩種常用的 JavaMail API 版本:1.2 和 1.1.3。雖然版本 1.2 是最新版,但版本 1.1.3 包含了Java 2 平臺企業(yè)版(Java 2 Platform, Enterprise Edition,J2EE)的版本 1.2.1,所以仍然有很多人使用它。
            ·JavaMail 1.2 的安裝
            要使用 JavaMail 1.2 API,請下載 JavaMail 1.2 實現(xiàn),解開Javamail-1_2.zip 文件,并將 mail.jar 文件添加到 CLASSPATH 中。除了核心類,隨版本 1.2 實現(xiàn)一起提供的還有 SMTP、IMAP4 和 POP3 供應(yīng)商。
            · JavaMail 1.1.3 的安裝
             要使用 JavaMail 1.1.3 API,請下載 JavaMail 1.1.3 實現(xiàn),解開Javamail1_1_3.zip文件,并將 mail.jar 文件添加到您的 CLASSPATH 中。除了核心類,隨版本 1.1.3 實現(xiàn)一起提供的還有 SMTP 和 IMAP4 供應(yīng)商。
            如果您用 JavaMail 1.1.3 訪問一個 POP 服務(wù)器,請下載并安裝一個 POP3 供應(yīng)商。Sun 就有一個獨立于 JavaMail 實現(xiàn)。下載并解開 pop31_1_1.zip 文件后,將 pop3.jar 也添加到您的 CLASSPATH 中。
             其次是JavaBeans Activation Framework 的安裝。JavaMail API 的所有版本都需要 JavaBeans Activation Framework 來支持任意數(shù)據(jù)塊的輸入及相應(yīng)處理。功能似乎不多,但目前許多瀏覽器和郵件工具中都能找到這種基本的 MIME 型支持。下載完框架后,解開 jaf1_0_1.zip 文件,并將 activation.jar 文件添加到 CLASSPATH 中。
            對于 JavaMail 1.2 用戶來說,現(xiàn)在您應(yīng)該已將 mail.jar 和 activation.jar 文件添加到 CLASSPATH 中了。
            而對于 JavaMail 1.1.3 用戶,現(xiàn)在您應(yīng)該已將 mail.jar、pop3.jar和 activation.jar文件添加到 CLASSPATH 中了。如果不打算用 POP3,就不必將 pop3.jar 添加到 CLASSPATH 中去。
             如果您不想更改 CLASSPATH 環(huán)境變量,將 jar 文件復(fù)制到您 Java 運行時環(huán)境(Java Runtime Environment,JRE)目錄下的 lib/ext 目錄中去。例如,J2SE 1.3 發(fā)行版的缺省目錄在 Windows 平臺的 C:"jdk1.3"jre"lib"ext。 

          Java Mail API有哪些核心類

             ·Javax.mail.Session:Session 類定義了一個基本郵件會話(session),是Java Mail API最高層入口類。所有其它類都是經(jīng)由這個session 才得以生效。Session 對象用 Java.util.Properties 對象獲取信息,如郵件服務(wù)器、用戶名、密碼及整個應(yīng)用程序中共享的其它信息。
            ·Javax.mail.Message:一旦獲得 Session 對象,就可以繼續(xù)創(chuàng)建要發(fā)送的消息。這由 Message 類來完成。因為 Message 是個抽象類,必需用一個子類,多數(shù)情況下為 Javax.mail.internet.MimeMessage。MimeMessage 是個能理解 MIME 類型和頭的電子郵件消息,正如不同 RFC 中所定義的。雖然在某些頭部域非 ASCII 字符也能被譯碼,但 Message 頭只能被限制為用 US-ASCII 字符。
            ·Javax.mail.Address:一旦您創(chuàng)建了 Session 和 Message,并將內(nèi)容填入消息后,就可以用 Address 確定信件地址了。和 Message 一樣,Address 也是個抽象類。您用的是 Javax.mail.internet.InternetAddress 類。
            ·Javax.mail. Authenticator:與 Java.net 類一樣,JavaMail API 也可以利用 Authenticator 通過用戶名和密碼訪問受保護的資源。對于JavaMail API 來說,這些資源就是郵件服務(wù)器。JavaMail Authenticator 在 Javax.mail 包中,而且它和 Java.net 中同名的類 Authenticator 不同。兩者并不共享同一個 Authenticator,因為JavaMail API 用于 Java 1.1,它沒有 Java.net 類別。
          要使用 Authenticator,先創(chuàng)建一個抽象類的子類,并從 getPasswordAuthentication() 方法中返回 PasswordAuthentication 實例。創(chuàng)建完成后,您必需向 session 注冊 Authenticator。然后,在需要認證的時候,就會通知 Authenticator。您可以彈出窗口,也可以從配置文件中(雖然沒有加密是不安全的)讀取用戶名和密碼,將它們作為 PasswordAuthentication 對象返回給調(diào)用程序。
             ·Javax.mail.Transport:消息發(fā)送的最后一部分是使用 Transport 類。這個類用協(xié)議指定的語言發(fā)送消息(通常是 SMTP)。它是抽象類,它的工作方式與 Session 有些類似。僅調(diào)用靜態(tài) send() 方法,就能使用類的 缺省 版本:Transport.send(message);或者,讀者也可以從針對自己的協(xié)議的會話中獲得一個特定的實例,傳遞用戶名和密碼(如果不必要就 不傳),發(fā)送消息,然后關(guān)閉連接。 
            ·Javax.mail.Store:Store類實現(xiàn)特定郵件協(xié)議上的讀、寫、監(jiān)視、查找等操作。通過Javax.mail.Store類可以訪問Javax.mail.Folder類。
            ·Javax.mail.Folder:Folder類用于分級組織郵件,并提供照Javax.mail.Message格式訪問email的能力。

          posted on 2009-05-09 23:09 彭偉 閱讀(208) 評論(0)  編輯  收藏 所屬分類: 新聞轉(zhuǎn)載分區(qū)


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          <2009年5月>
          262728293012
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 霍邱县| 门源| 临澧县| 遂昌县| 宣城市| 广宁县| 巴青县| 永和县| 叙永县| 屯昌县| 乃东县| 诏安县| 罗平县| 重庆市| 措勤县| 伊吾县| 黄龙县| 井研县| 台前县| 红桥区| 澳门| 合阳县| 图木舒克市| 商都县| 罗源县| 衡水市| 黔西| 马关县| 如皋市| 礼泉县| 新龙县| 白山市| 江油市| 育儿| 勃利县| 安乡县| 会理县| 垫江县| 波密县| 晋宁县| 东源县|