JavaMail API 概述
JavaMail API提供了一種與平台無關和協議獨立的框架來構建郵件和消息應用程序。 JavaMail API提供了一組抽象類定義構成一個郵件係統的對象。它是閱讀,撰寫和發送電子信息的可選包(標準擴展)。
JavaMail 規定,用於構造一個接口,一個消息傳送係統中的元素,包括係統的部件和接口。雖然本規範冇有定義任何特定的實現,JavaMail是否包括實現RFC822和MIME Internet郵件標準幾類。這些類都作為JavaMail的類包的一部分。
以下是一些在 JavaMail API 支持的協議:
-
SMTP:縮寫為簡單郵件傳輸協議。它提供傳送郵件的機製。
-
POP: 縮寫為郵局協議。 POP是大多數人在互聯網上使用,以獲得他們的郵件的機製。它定義了一個單個郵箱的支持為每個用戶。 RFC 1939定義了該協議。
-
IMAP: 縮寫為Internet郵件訪問協議。它是一種先進的協議,用於接收消息。它提供了多個郵箱的支持為每個用戶,除了郵箱可以被多個用戶共享。它是在RFC2060中定義。
-
MIME: 縮寫為多用途Internet郵件擴展。 。這不是一個郵件傳輸協議。相反,它定義了什麼是傳輸的內容:郵件,附件,等等的格式。有許多不同的文檔生效這裡:RFC822,RFC2045,RFC2046和RFC2047。作為 JavaMail API 用戶,您通常不需要擔心這些格式。然而,這些格式確實存在,並且由程序使用。
-
NNTP 其它: 有由第三方供應商提供的許多協議。其中有些是網絡新聞傳輸協議(NNTP),安全多用途Internet郵件擴展(S / MIME)等。
這些細節將包括在後續章節。
體係結構
正如上麵的 java 應用程序表示用戶使用 JavaMail API 來編寫,發送和接收電子郵件。下圖說明了JavaMail 的體係結構:
JavaMail API 的抽象機製類似於其他的J2EE API,如JDBC,JNDI和JMS。如上麵看到的體係結構圖,JavaMail API 被分為兩個主要部分:
-
與應用程序無關的部分:應用程序編程接口(API)是由應用程序使用的組件來發送和接收郵件,獨立於底層的供應商或協議中使用的。
-
一個服務相關的部分:一個服務提供商接口(SPI)說,協議特定的語言,如SMTP,POP,IMAP和網絡新聞傳輸協議(NNTP)。它是用來插在一封郵件服務到J2EE平台的供應商。