首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載 | ||
![]() |
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試 MPA考試 | 中科院 |
|
![]() |
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT 新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語 |
|
![]() |
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證 華為認證 | Java認證 |
|
![]() |
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格 報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師 人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業資格 | 廣告師職業水平 駕駛員 | 網絡編輯 |
|
![]() |
衛生資格 | 執業醫師 | 執業藥師 | 執業護士 | |
![]() |
會計從業資格考試(會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師 注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師 |
|
![]() |
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師 質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師 設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師 城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師 |
|
![]() |
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲 |
3.5 JavaMail(JAVA郵件服務)API詳解
一、JavaMail API簡介
JavaMail API是讀取、撰寫、發送電子信息的可選包。我們可用它來建立如Eudora、Foxmail、MS Outlook Express一般的郵件用戶代理程序(Mail User Agent,簡稱MUA)。而不是像sendmail或者其它的郵件傳輸代理(Mail Transfer Agent,簡稱MTA)程序那樣可以傳送、遞送、轉發郵件。從另外一個角度來看,我們這些電子郵件用戶日常用MUA程序來讀寫郵件,而MUA依賴著MTA處理郵件的遞送。
在清楚了到MUA與MTA之間的關系后,讓我們看看JavaMail API是如何提供信息訪問功能的吧!JavaMail API被設計用于以不依賴協議的方式去發送和接收電子信息,這個API被分為兩大部分:
基本功能:如何以不依賴于協議的方式發送接收電子信息,這也是本文所要描述的,不過在下文中,大家將看到這只是一廂情愿而已。
第二個部分則是依賴特定協議的,比如SMTP、POP、IMAP、NNTP協議。在這部分的JavaMail API是為了和服務器通訊,并不在本文的內容中。
二、相關協議一覽
在我們步入JavaMail API之前,先看一下API所涉及的協議。以下便是大家日常所知、所樂于使用的4大信息傳輸協議:
SMTP
POP
IMAP
MIME
當然,上面的4個協議,并不是全部,還有NNTP和其它一些協議可用于傳輸信息,但是由于不常用到,所以本文便不提及了。理解這4個基本的協議有助于我們更好的使用JavaMail API。然而JavaMail API是被設計為與協議無關的,目前我們并不能克服這些協議的束縛。確切的說,如果我們使用的功能并不被我們選擇的協議支持,那么JavaMail API并不可能如魔術師一樣神奇的賦予我們這種能力。
1.SMTP
簡單郵件傳輸協議定義了遞送郵件的機制。在下文中,我們將使用基于Java-Mail的程序與公司或者ISP的SMTP服務器進行通訊。這個SMTP服務器將郵件轉發到接收者的SMTP服務器,直至最后被接收者通過POP或者IMAP協議獲取。這并不需要SMTP服務器使用支持授權的郵件轉發,但是卻的確要注意SMTP服務器的正確設置(SMTP服務器的設置與JavaMail API無關)。
2.POP
POP是一種郵局協議,目前為第3個版本,即眾所周知的POP3。POP定義了一種用戶如何獲得郵件的機制。它規定了每個用戶使用一個單獨的郵箱。大多數人在使用POP時所熟悉的功能并非都被支持,例如查看郵箱中的新郵件數量。而這個功能是微軟的Outlook內建的,那么就說明微軟Outlook之類的郵件客戶端軟件是通過查詢最近收到的郵件來計算新郵件的數量來實現前面所說的功能。因此在我們使用JavaMail API時需要注意,當需要獲得如前面所講的新郵件數量之類的信息時,我們不得不自己進行計算。
3.IMAP
IMAP使用在接收信息的高級協議,目前版本為第4版,所以也被稱為IMAP4。需要注意的是在使用IMAP時,郵件服務器必須支持該協議。從這個方面講,我們并不能完全使用IMAP來替代POP,不能期待IMAP在任何地方都被支持。假如郵件服務器支持IMAP,那么我們的郵件程序將能夠具有以下被IMAP所支持的特性:每個用戶在服務器上可具有多個目錄,這些目錄能在多個用戶之間共享。
其與POP相比高級之處顯而易見,但是在嘗試采取IMAP時,我們認識到它并不是十分完美的:由于IMAP需要從其它服務器上接收新信息,將這些信息遞送給用戶,維護每個用戶的多個目錄,這都為郵件服務器帶來了高負載。并且IMAP與POP的一個不同之處是POP用戶在接收郵件時將從郵件服務器上下載郵件,而IMAP允許用戶直接訪問郵件目錄,所以在郵件服務器進行備份作業時,由于每個長期使用此郵件系統的用戶所用的郵件目錄會占有很大的空間,這將直接導致郵件服務器上磁盤空間暴漲。
相關推薦:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |