JavaMailAPI-概要
JavaMail APIは、メールおよびメッセージングアプリケーションを構築するための、プラットフォームおよびプロトコルに依存しないフレームワークを提供します。JavaMail APIは、メールシステムを構成するオブジェクトを定義する一連の抽象クラスを提供します。これは、電子メッセージの読み取り、作成、および送信のためのオプションのパッケージ(標準拡張)です。
JavaMailは、システムコンポーネントやインターフェイスなど、メッセージングシステムへのインターフェイスを構築するために使用される要素を提供します。この仕様では特定の実装は定義されていませんが、JavaMailには、RFC822およびMIMEインターネットメッセージング標準を実装するいくつかのクラスが含まれています。これらのクラスは、JavaMailクラスパッケージの一部として提供されます。
以下は、JavaMailAPIでサポートされているプロトコルの一部です。
SMTP:の頭字語 Simple Mail Transfer Protocol。電子メールを配信するメカニズムを提供します。
POP:の頭字語 Post Office Protocol。POPは、インターネット上のほとんどの人がメールを取得するために使用するメカニズムです。これは、ユーザーごとに1つのメールボックスのサポートを定義します。RFC 1939は、このプロトコルを定義しています。
IMAP:の頭字語 Internet Message Access Protocol。これは、メッセージを受信するための高度なプロトコルです。メールボックスは複数のユーザーで共有できることに加えて、ユーザーごとに複数のメールボックスをサポートします。RFC2060で定義されています。
MIME:の頭字語 Multipurpose Internet Mail Extensions。。メール転送プロトコルではありません。代わりに、転送される内容(メッセージの形式、添付ファイルなど)を定義します。ここで有効になるさまざまなドキュメントがあります:RFC 822、RFC 2045、RFC 2046、およびRFC2047。JavaMailAPIのユーザーとして、通常、これらの形式について心配する必要はありません。ただし、これらの形式は存在し、プログラムで使用されます。
NNTP and Others:サードパーティプロバイダーによって提供される多くのプロトコルがあります。それらのいくつかは、ネットワークニュース転送プロトコル(NNTP)、安全な多目的インターネットメール拡張機能(S / MIME)などです。
これらの詳細については、以降の章で説明します。
建築
上記のように、JavaアプリケーションはJavaMail APIを使用して電子メールを作成、送受信します。次の図は、JavaMailのアーキテクチャを示しています。
JavaMail APIの抽象メカニズムは、JDBC、JNDI、JMSなどの他のJ2EEAPIに似ています。上記のアーキテクチャ図に見られるように、JavaMailAPIは2つの主要な部分に分かれています。
アプリケーションに依存しない部分:アプリケーションプログラミングインターフェイス(API)は、使用される基になるプロバイダーやプロトコルに関係なく、メールメッセージを送受信するためにアプリケーションコンポーネントによって使用されます。
サービスに依存する部分:サービスプロバイダーインターフェイス(SPI)は、SMTP、POP、IMAP、ネットワークニュース転送プロトコル(NNTP)などのプロトコル固有の言語を話します。これは、電子メールサービスのプロバイダーをJ2EEプラットフォームに接続するために使用されます。