天天看點

JavaMail學習筆記(二)、JavaMail API簡介和配置開發環境一、JavaMail API 簡介 二、配置 JavaMail 開發環境 三、JavaMail API的分類及體系結構四、JAF 簡介

一、JavaMail API 簡介

       JavaMail API是Sun公司為友善Java開發人員在應用程式中實作郵件發送和接收功能而提供的一套标準開發包,它支援一些常用的郵件協定,如:SMTP、POP3、IMAP和MIME等。開發人員使用JavaMail API編寫郵件處理軟體時,無須考慮郵件協定底層的實作細節,隻要調用JavaMail開發包中相應的API類就可以了。JavaMail API封裝在一個名mail.jar的檔案中,它是開發JavaMail應用程式時所必須使用的核心jar包。

二、配置 JavaMail 開發環境

  1. 到Oracle官網下載下傳mail.jar開發包,目前最新版本是1.4.5。下載下傳成功後,會得到一個javamail1_4_5.zip的檔案,然後解壓。
  2. 解壓後的目錄結構如下圖所示:
    JavaMail學習筆記(二)、JavaMail API簡介和配置開發環境一、JavaMail API 簡介 二、配置 JavaMail 開發環境 三、JavaMail API的分類及體系結構四、JAF 簡介
    • mail.jar:就是開發javamail程式所必須要用到的核心開發包。
    • demo子目錄:示例程式。
    • lib子目錄:該目錄下包含5個獨立的郵件開發包:smtp.jar、pop3.jar、imap.jar和mailapi.jar,這5個jar檔案是對mail.jar檔案的分類包裝。其中mailapi.jar封裝了建立郵件内容和面向普通開發人員調用郵件發送和接收的API類,其它三個jar檔案則是封裝了它們名稱相對應協定的服務實作程式。mailapi.jar與其它三個jar檔案的關系,猶如JDBC API與各個資料庫所實作jdbc驅動程式之間的關系一樣。在編譯Java郵件程式時,隻需要mailapi.jar檔案即可,但是,在運作時必須要有相應郵件協定的底層服務實作程式。如果應用程式中隻需要使用到郵件發送功能,則可以隻安裝smtp.jar和mailapi.jar這兩個檔案,如果應用程式隻需要使用郵件的接收功能,則可以隻安裝pop3.jar或imap.jar和mailapi.jar這兩個jar檔案,而不用安裝整個mail.jar檔案。
    JavaMail學習筆記(二)、JavaMail API簡介和配置開發環境一、JavaMail API 簡介 二、配置 JavaMail 開發環境 三、JavaMail API的分類及體系結構四、JAF 簡介
    • doc子目錄:javamail API文檔
    JavaMail學習筆記(二)、JavaMail API簡介和配置開發環境一、JavaMail API 簡介 二、配置 JavaMail 開發環境 三、JavaMail API的分類及體系結構四、JAF 簡介
    JavaMail學習筆記(二)、JavaMail API簡介和配置開發環境一、JavaMail API 簡介 二、配置 JavaMail 開發環境 三、JavaMail API的分類及體系結構四、JAF 簡介
  3. 安裝javamail
  • 将mail.jar檔案添加到系統環境變量CLASSPATH中,如下圖所示:
    JavaMail學習筆記(二)、JavaMail API簡介和配置開發環境一、JavaMail API 簡介 二、配置 JavaMail 開發環境 三、JavaMail API的分類及體系結構四、JAF 簡介
  • 将mail.jar檔案拷貝到%JAVA_HOME%\jre\lib\ext目錄下
    JavaMail學習筆記(二)、JavaMail API簡介和配置開發環境一、JavaMail API 簡介 二、配置 JavaMail 開發環境 三、JavaMail API的分類及體系結構四、JAF 簡介

以上兩種方式選其中任意一種方式即可完成javamail的安裝。

三、JavaMail API的分類及體系結構

      JavaMail API按其功能可以劃分為以下三大類:

  1. 建立和解析郵件内容的API
  2. 發送郵件的API
  3. 接收郵件的API

   以上三種類型的功能由多個API類組成,但每個功能所設及到的核心API并不多,其它API類都是這些核心API的輔助類,了解這些核心API的功能及作用,掌握它們之間的工作關系和調用流程,就很容易編寫出javamail程式了,對于核心API類所用到輔助類,可以在使用這些核心API的過程中順藤摸瓜,邊查文檔邊了解這些輔助類的用法即可。具我了解,JavaMail中的核心AIP類包含Message、Session、Transport、Store4個類,它們之間的工作關系,如下圖所示:

JavaMail學習筆記(二)、JavaMail API簡介和配置開發環境一、JavaMail API 簡介 二、配置 JavaMail 開發環境 三、JavaMail API的分類及體系結構四、JAF 簡介

核心API介紹:

  • Message類

    javax.mail.Message 類是建立和解析郵件的核心API,它的執行個體對象代表一封電子郵件。用戶端程式發送郵件時,首先使用建立郵件的API,将要建立郵件的資料封裝到Message對象中,然後把這個對象傳遞給郵件發送API發送出去。用戶端程式接收郵件時,郵件接收API把接收到的郵件資料封裝在Message類的執行個體對象中,用戶端程式再使用郵件解析API,從這個對象中解析出接收到的郵件資料。

  • Session類

    javax.mail.Session 類用于定義整個應用程式所需的環境資訊,以及收集用戶端與郵件伺服器建立網絡連接配接的會話資訊,如郵件伺服器的主機名、端口号、采用的郵件發送和接收協定等。Session對象根據這些會話資訊建構郵件收發的Store和Transport對象,以及為用戶端建立Message對象提供資訊支援。

  • Transport類

    javax.mail.Transport 類是發送郵件的核心API類,它的執行個體對象,代表實作了某個郵件發送協定的郵件發送對象,例如SMTP 協定。用戶端程式建立好Message對象後,隻需要使用郵件發送API得到 Transport 對象,然後把 Message 對象傳遞給 Transport 對象,并調用它的發送方法,就可以把郵件發送給指定的SMTP伺服器。

  • Store類

    javax.mail.Store 類是接收郵件的核心API類,它的執行個體對象代表實作某個郵件接收協定的郵件接收對象,例如POP3和IMAP協定。用戶端程式接收郵件時,隻需要使用郵件接收API得到Store對象,然後調用Store對象的接收方法,就可以從指定的 POP3伺服器中獲得郵件資料,并把這些郵件資料封裝到表示郵件的Message對象中。

四、JAF 簡介

        JAF(JavaBeans Activation Framework,JavaBeans 激活架構)是一個專用的資料處理架構,它用于封裝資料,并為應用程式提供通路和操作資料的接口。JavaMail API可以利用JAF從某種資料源中讀取資料和獲知資料的MIME類型,并用這些資料生成MIME消息中的消息體和消息類型。     JAF的主要作用在于讓Java應用程式知道如何對一個資料源進行檢視、編輯和列印等操作。大家知道,在MS Word程式中可以打開一篇Word文檔中嵌套的Visio圖檔,JAF就是讓Java程式能夠完成類似的技術應用,讓應用程式知道資料源支援哪些操作,每個操作分别調用哪個處理子產品。對于通過JAF 封裝的資料,應用程式通過JAF提供的接口可以完成如下功能:

  1. 通路資料源中的資料
  2. 獲知資料源的資料類型
  3. 獲知可對資料進行的各種操作
  4. 使用者對資料執行某種操作時,自動建立執行該操作的軟體部件的執行個體對象

    例如,如果使用JAF處理一個圖檔檔案,那麼應用程式通過JAF提供的接口就可以得到對圖檔檔案進行操作的輸入輸出流,圖檔檔案的MIME類型,JAF為圖檔檔案提供的操作方法(如檢視、編輯或列印圖檔等),應用程式調用這些操作時,JAF就會調用相應的處理子產品對資料進行處理。     在Oracle官網可以下載下傳到JAF的jar包,下載下傳後得到的是一個名為activation.jar檔案,現在最新版本是1.1。     注意:JDK1.6內建了JAF架構,如果使用的是JDK1.6以上版本,則可以不用單獨下載下傳JAF架構。

原文連結:https://blog.csdn.net/xyang81/article/details/7675004

一、JavaMail API 簡介

       JavaMail API是Sun公司為友善Java開發人員在應用程式中實作郵件發送和接收功能而提供的一套标準開發包,它支援一些常用的郵件協定,如:SMTP、POP3、IMAP和MIME等。開發人員使用JavaMail API編寫郵件處理軟體時,無須考慮郵件協定底層的實作細節,隻要調用JavaMail開發包中相應的API類就可以了。JavaMail API封裝在一個名mail.jar的檔案中,它是開發JavaMail應用程式時所必須使用的核心jar包。

二、配置 JavaMail 開發環境

  1. 到Oracle官網下載下傳mail.jar開發包,目前最新版本是1.4.5。下載下傳成功後,會得到一個javamail1_4_5.zip的檔案,然後解壓。
  2. 解壓後的目錄結構如下圖所示:
    JavaMail學習筆記(二)、JavaMail API簡介和配置開發環境一、JavaMail API 簡介 二、配置 JavaMail 開發環境 三、JavaMail API的分類及體系結構四、JAF 簡介
    • mail.jar:就是開發javamail程式所必須要用到的核心開發包。
    • demo子目錄:示例程式。
    • lib子目錄:該目錄下包含5個獨立的郵件開發包:smtp.jar、pop3.jar、imap.jar和mailapi.jar,這5個jar檔案是對mail.jar檔案的分類包裝。其中mailapi.jar封裝了建立郵件内容和面向普通開發人員調用郵件發送和接收的API類,其它三個jar檔案則是封裝了它們名稱相對應協定的服務實作程式。mailapi.jar與其它三個jar檔案的關系,猶如JDBC API與各個資料庫所實作jdbc驅動程式之間的關系一樣。在編譯Java郵件程式時,隻需要mailapi.jar檔案即可,但是,在運作時必須要有相應郵件協定的底層服務實作程式。如果應用程式中隻需要使用到郵件發送功能,則可以隻安裝smtp.jar和mailapi.jar這兩個檔案,如果應用程式隻需要使用郵件的接收功能,則可以隻安裝pop3.jar或imap.jar和mailapi.jar這兩個jar檔案,而不用安裝整個mail.jar檔案。
    JavaMail學習筆記(二)、JavaMail API簡介和配置開發環境一、JavaMail API 簡介 二、配置 JavaMail 開發環境 三、JavaMail API的分類及體系結構四、JAF 簡介
    • doc子目錄:javamail API文檔
    JavaMail學習筆記(二)、JavaMail API簡介和配置開發環境一、JavaMail API 簡介 二、配置 JavaMail 開發環境 三、JavaMail API的分類及體系結構四、JAF 簡介
    JavaMail學習筆記(二)、JavaMail API簡介和配置開發環境一、JavaMail API 簡介 二、配置 JavaMail 開發環境 三、JavaMail API的分類及體系結構四、JAF 簡介
  3. 安裝javamail
  • 将mail.jar檔案添加到系統環境變量CLASSPATH中,如下圖所示:
    JavaMail學習筆記(二)、JavaMail API簡介和配置開發環境一、JavaMail API 簡介 二、配置 JavaMail 開發環境 三、JavaMail API的分類及體系結構四、JAF 簡介
  • 将mail.jar檔案拷貝到%JAVA_HOME%\jre\lib\ext目錄下
    JavaMail學習筆記(二)、JavaMail API簡介和配置開發環境一、JavaMail API 簡介 二、配置 JavaMail 開發環境 三、JavaMail API的分類及體系結構四、JAF 簡介

以上兩種方式選其中任意一種方式即可完成javamail的安裝。

三、JavaMail API的分類及體系結構

      JavaMail API按其功能可以劃分為以下三大類:

  1. 建立和解析郵件内容的API
  2. 發送郵件的API
  3. 接收郵件的API

   以上三種類型的功能由多個API類組成,但每個功能所設及到的核心API并不多,其它API類都是這些核心API的輔助類,了解這些核心API的功能及作用,掌握它們之間的工作關系和調用流程,就很容易編寫出javamail程式了,對于核心API類所用到輔助類,可以在使用這些核心API的過程中順藤摸瓜,邊查文檔邊了解這些輔助類的用法即可。具我了解,JavaMail中的核心AIP類包含Message、Session、Transport、Store4個類,它們之間的工作關系,如下圖所示:

JavaMail學習筆記(二)、JavaMail API簡介和配置開發環境一、JavaMail API 簡介 二、配置 JavaMail 開發環境 三、JavaMail API的分類及體系結構四、JAF 簡介

核心API介紹:

  • Message類

    javax.mail.Message 類是建立和解析郵件的核心API,它的執行個體對象代表一封電子郵件。用戶端程式發送郵件時,首先使用建立郵件的API,将要建立郵件的資料封裝到Message對象中,然後把這個對象傳遞給郵件發送API發送出去。用戶端程式接收郵件時,郵件接收API把接收到的郵件資料封裝在Message類的執行個體對象中,用戶端程式再使用郵件解析API,從這個對象中解析出接收到的郵件資料。

  • Session類

    javax.mail.Session 類用于定義整個應用程式所需的環境資訊,以及收集用戶端與郵件伺服器建立網絡連接配接的會話資訊,如郵件伺服器的主機名、端口号、采用的郵件發送和接收協定等。Session對象根據這些會話資訊建構郵件收發的Store和Transport對象,以及為用戶端建立Message對象提供資訊支援。

  • Transport類

    javax.mail.Transport 類是發送郵件的核心API類,它的執行個體對象,代表實作了某個郵件發送協定的郵件發送對象,例如SMTP 協定。用戶端程式建立好Message對象後,隻需要使用郵件發送API得到 Transport 對象,然後把 Message 對象傳遞給 Transport 對象,并調用它的發送方法,就可以把郵件發送給指定的SMTP伺服器。

  • Store類

    javax.mail.Store 類是接收郵件的核心API類,它的執行個體對象代表實作某個郵件接收協定的郵件接收對象,例如POP3和IMAP協定。用戶端程式接收郵件時,隻需要使用郵件接收API得到Store對象,然後調用Store對象的接收方法,就可以從指定的 POP3伺服器中獲得郵件資料,并把這些郵件資料封裝到表示郵件的Message對象中。

四、JAF 簡介

        JAF(JavaBeans Activation Framework,JavaBeans 激活架構)是一個專用的資料處理架構,它用于封裝資料,并為應用程式提供通路和操作資料的接口。JavaMail API可以利用JAF從某種資料源中讀取資料和獲知資料的MIME類型,并用這些資料生成MIME消息中的消息體和消息類型。     JAF的主要作用在于讓Java應用程式知道如何對一個資料源進行檢視、編輯和列印等操作。大家知道,在MS Word程式中可以打開一篇Word文檔中嵌套的Visio圖檔,JAF就是讓Java程式能夠完成類似的技術應用,讓應用程式知道資料源支援哪些操作,每個操作分别調用哪個處理子產品。對于通過JAF 封裝的資料,應用程式通過JAF提供的接口可以完成如下功能:

  1. 通路資料源中的資料
  2. 獲知資料源的資料類型
  3. 獲知可對資料進行的各種操作
  4. 使用者對資料執行某種操作時,自動建立執行該操作的軟體部件的執行個體對象

    例如,如果使用JAF處理一個圖檔檔案,那麼應用程式通過JAF提供的接口就可以得到對圖檔檔案進行操作的輸入輸出流,圖檔檔案的MIME類型,JAF為圖檔檔案提供的操作方法(如檢視、編輯或列印圖檔等),應用程式調用這些操作時,JAF就會調用相應的處理子產品對資料進行處理。     在Oracle官網可以下載下傳到JAF的jar包,下載下傳後得到的是一個名為activation.jar檔案,現在最新版本是1.1。     注意:JDK1.6內建了JAF架構,如果使用的是JDK1.6以上版本,則可以不用單獨下載下傳JAF架構。