Sun JavaTM Enterprise Server には、JavaMail API、およびアプリケーションコンポーネントでインターネット上で電子メール通知を送信し、IMAP および POP3 メールサーバーから電子メールを読み取ることを可能にする JavaMail サービスプロバイダが含まれています。
ここでは、次のテーマを取り上げます。
本章で説明するタスクを 管理コンソール から実行する手順については、管理コンソール オンラインヘルプを参照してください。
JavaMail API はメールシステムをモデル化する一連の抽象 API です。JavaMail API は、プラットフォームやプロトコルに依存しないフレームワークを提供して、メールおよびメッセージングアプリケーションを構築し電子メッセージの読み取りと送信の機能を提供します。サービスプロバイダは特定のプロトコルを実装します。API を使用して、アプリケーションに電子メール機能を追加できます。JavaMail は Java アプリケーションから、ネットワークまたはインターネット上の IMAP (Internet Message Access Protocol) および SMTP (メール転送プロトコル) 対応のメールサーバーにアクセスできます。API にはメールサーバー機能がないため、JavaMail を使用するにはメールサーバーにアクセスする必要があります。
JavaMail API は、Java プラットフォームのオプションパッケージとして実装され、Java EE プラットフォームの一部としても使用できます。
JavaMail API の詳細は、JavaMail Web サイト http://java.sun.com/products/javamail/ を参照してください。
メールセッションを作成すると、サーバー側のコンポーネントとアプリケーションが、割り当てたセッションプロパティーを使用して JavaMail サービスと JNDI にアクセス可能になります。メールセッションを作成するときに、メールホスト、トランスポートプロトコルとストアプロトコル、およびデフォルトのメールユーザーを指定できるので、JavaMail を使用するコンポーネントはこれらのプロパティーを設定する必要がありません。Enterprise Server は単一のセッションオブジェクトを作成して、セッションオブジェクトを必要とするすべてのコンポーネントから使用できるようにするので、電子メールを大量に使用するアプリケーションにメリットがあります。
次のような JavaMail 設定を指定できます。
「JNDI 名」。メールセッションの一意の名前。JavaMail リソースのネーミングサブコンテキストプレフィックス mail/ を使用することをお勧めします。例: mail/MySession
「メールホスト」。デフォルトメールサーバーのホスト名。プロトコル固有のホストプロパティーが提供されていない場合に、Store オブジェクトと Transport オブジェクトの接続メソッドはこの値を使用します。この名前は実際のホスト名として解決可能でなければいけません。
「デフォルトユーザー」。メールサーバーへの接続時に渡されるユーザー名。プロトコル固有の username プロパティーが提供されていない場合に、Store オブジェクトと Transport オブジェクトの接続メソッドはこの値を使用します。
「デフォルトの返信用アドレス」。デフォルトユーザーの電子メールアドレス。username@host.domain の形式で入力します。
「説明」。コンポーネントの説明。
「セッション」。今回メールセッションを有効にするか、無効にするかを指定します。
ここでは、次のテーマを取り上げます。
JavaMail セッションリソースを作成するには、リモートモードでサブコマンド create-javamail-resource を使用します。JavaMail セッションリソースの JNDI 名は通例、mail/ の命名サブコンテキスト (例: mail/MyMailSession.) を含みます。
サーバーが実行されていることを確認します。
リモートサブコマンドには、実行中のサーバーが必要です。
create-javamail-resource(1) サブコマンドを使用して、JavaMail リソースを作成します。
このサブコマンドのプロパティーについては、このマニュアルページに記載されています。
変更内容を適用するために、Enterprise Server を再起動します。
「ドメインの再起動」を参照してください。
この例は、mail/MyMailSession という名前の JavaMail リソースを作成します。--fromaddress オプションでエスケープ文字 (\) を使用して、ドット (.) とアットマーク (@) を区別します。
asadmin> create-javamail-resource --mailhost localhost --mailuser sample --fromaddress sample\@sun\.com mail/MyMailSession Command create-javamail-resource executed successfully. |
コマンド行に asadmin help create-javamail-resource と入力して、このサブコマンドの完全な構文とオプションを確認することもできます。
既存の JavaMail セッションリソースを一覧表示するには、リモートモードで list-javamail-resources サブコマンドを使用します。
サーバーが実行されていることを確認します。
リモートサブコマンドには、実行中のサーバーが必要です。
list-javamail-resources(1) サブコマンドを使用して、JavaMail リソースを一覧表示します。
この例は、localhost の JavaMail リソースを一覧表示します。
asadmin> list-javamail-resources mail/MyMailSession Command list-javamail-resources executed successfuly. |
コマンド行に asadmin help list-javamail-resources と入力して、このサブコマンドの完全な構文とオプションを確認することもできます。
list-javamail-resources(1) サブコマンドを使用して、JavaMail リソースを一覧表示します。
set(1) サブコマンドを使用して、指定した JavaMail リソースの値を変更します。
リソースは、ドット表記名で指定します。
この例は、joeserver を joe に変更します。
asadmin> set server.resources.mail-resource.mail/ MyMailSession.user=joeserver.resources.mail-resource.mail/ MyMailSession.user=joe Command set executed successfully. |
JavaMail セッションリソースを削除するには、リモートモードで delete-javamail-resource サブコマンドを使用します。
サブコマンド delete-javamail-resource を実行するには、指定のリソースへの参照を削除しておく必要があります。
サーバーが実行されていることを確認します。
リモートサブコマンドには、実行中のサーバーが必要です。
list-javamail-resources(1) サブコマンドを使用して、JavaMail リソースを一覧表示します。
delete-javamail-resource(1) サブコマンドを使用して、JavaMail リソースを削除します。
変更内容を適用するために、Enterprise Server を再起動します。
「ドメインの再起動」を参照してください。
この例は、mail/MyMailSession という名前の JavaMail セッションリソースを削除します。
asadmin> delete-javamail-resource mail/MyMailSession Command delete-javamail-resource executed successfully. |
コマンド行に asadmin help delete-javamail-resource と入力して、このサブコマンドの完全な構文とオプションを確認することもできます。