JavaMail API - 概述



JavaMail API 提供了一個平臺無關且協議無關的框架來構建郵件和訊息應用程式。JavaMail API 提供了一組抽象類,定義了構成郵件系統的物件。它是一個可選的軟體包(標準擴充套件),用於讀取、撰寫和傳送電子郵件。

JavaMail 提供了用於構建訊息系統介面的元素,包括系統元件和介面。雖然此規範未定義任何特定實現,但 JavaMail 確實包含幾個實現了 RFC822 和 MIME 網際網路訊息標準的類。這些類作為 JavaMail 類包的一部分提供。

以下是 JavaMail API 支援的一些協議

  • SMTP簡單郵件傳輸協議的首字母縮寫詞。它提供了一種傳遞電子郵件的機制。

  • POP郵局協議的首字母縮寫詞。POP 是大多數網際網路使用者獲取郵件的機制。它定義了對每個使用者單個郵箱的支援。RFC 1939 定義了此協議。

  • IMAP網際網路訊息訪問協議的首字母縮寫詞。它是一種用於接收郵件的先進協議。除了每個使用者可以擁有多個郵箱外,它還支援多個使用者共享郵箱。它在 RFC 2060 中定義。

  • MIME多用途網際網路郵件擴充套件的首字母縮寫詞。它不是郵件傳輸協議。相反,它定義了傳輸內容的格式:郵件、附件等的格式。這裡有很多不同的文件生效:RFC 822、RFC 2045、RFC 2046 和 RFC 2047。作為 JavaMail API 的使用者,您通常不必擔心這些格式。但是,這些格式確實存在並被您的程式使用。

  • NNTP 及其他:許多協議由第三方提供商提供。其中一些是網路新聞傳輸協議 (NNTP)、安全多用途網際網路郵件擴充套件 (S/MIME) 等。

這些內容將在後續章節中詳細介紹。

架構

如上所述,Java 應用程式使用 JavaMail API 來撰寫、傳送和接收電子郵件。下圖說明了 JavaMail 的架構

JavaMail API Architecture

JavaMail API 的抽象機制類似於其他 J2EE API,例如 JDBC、JNDI 和 JMS。如上圖架構圖所示,JavaMail API 分為兩個主要部分

  • 應用程式無關部分:應用程式元件使用應用程式程式設計介面 (API) 來發送和接收郵件訊息,而與底層提供程式或使用的協議無關。

  • 服務相關部分:服務提供程式介面 (SPI) 使用特定於協議的語言,例如 SMTP、POP、IMAP 和網路新聞傳輸協議 (NNTP)。它用於將電子郵件服務的提供程式插入到 J2EE 平臺中。

廣告

© . All rights reserved.