javax.mail
クラス Session

java.lang.Object
  |
  +--javax.mail.Session

public final class Session
extends java.lang.Object

Session クラスはメールセッションを表し、サブクラス化されません。Session クラスは、メール API により使用されるプロパティとデフォルトを収集します。1 つのデフォルトセッションを、デスクトップ上の複数のアプリケーションにより共有可能です。共有されないセッションを作成することもできます。


メソッドの概要
 boolean getDebug()
          この Session のデバッグ設定を取得します。
static Session getDefaultInstance(java.util.Properties props)
          デフォルトの Session オブジェクトを取得します。
static Session getDefaultInstance(java.util.Properties props, Authenticator authenticator)
          デフォルトの Session オブジェクトを取得します。
 Folder getFolder(URLName url)
          指定された URLName の閉じた Folder オブジェクトを取得します。
static Session getInstance(java.util.Properties props)
          新しい Session オブジェクトを取得します。
static Session getInstance(java.util.Properties props, Authenticator authenticator)
          新しい Session オブジェクトを取得します。
 PasswordAuthentication getPasswordAuthentication(URLName url)
          この (ストアまたはトランスポート) URLName の任意の保存された PasswordAuthentication を返します。
 java.util.Properties getProperties()
          この Session に関連付けられた Properties オブジェクトを返します。
 java.lang.String getProperty(java.lang.String name)
          指定されたプロパティの値を返します。
 Provider getProvider(java.lang.String protocol)
          指定されたプロトコルのデフォルトの Provider を返します。
 Provider[] getProviders()
          このメソッドは、このアプリケーションで使用可能な ClassLoader によりロードできる javamail.[default.]providers ファイル経由でインストールされたすべての実装の配列を返します。
 Store getStore()
          このユーザが望む Store プロトコルを実装する Store オブジェクトを取得します。
 Store getStore(Provider provider)
          Provider により指定されたストアのインスタンスを取得します。
 Store getStore(java.lang.String protocol)
          指定されたプロトコルを実装する Store オブジェクトを取得します。
 Store getStore(URLName url)
          指定された URLName の Store オブジェクトを取得します。
 Transport getTransport()
          このユーザが望む Transport プロトコルを実装する Transport オブジェクトを取得します。
 Transport getTransport(Address address)
          Message を指定されたアドレス型にトランスポート可能な Transport オブジェクトを取得します。
 Transport getTransport(Provider provider)
          Provider 中に指定されたトランスポートのインスタンスを取得します。
 Transport getTransport(java.lang.String protocol)
          指定されたプロトコルを実装する Transport オブジェクトを取得します。
 Transport getTransport(URLName url)
          指定された URLName の Transport オブジェクトを取得します。
 PasswordAuthentication requestPasswordAuthentication(java.net.InetAddress addr, int port, java.lang.String protocol, java.lang.String prompt, java.lang.String defaultUserName)
          必要なユーザ名とパスワードを取得するために、アプリケーションにコールバックします。
 void setDebug(boolean debug)
          この Session のデバッグ設定を行います。
 void setPasswordAuthentication(URLName url, PasswordAuthentication pw)
          この (ストアまたはトランスポート) URLName の PasswordAuthentication を保存します。
 void setProvider(Provider provider)
          渡された Provider を、以前のすべての値をオーバーライドすることにより、Provider.protocol 中のプロトコルに対するデフォルトの実装として設定します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

getInstance

public static Session getInstance(java.util.Properties props,
                                  Authenticator authenticator)
新しい Session オブジェクトを取得します。
パラメータ:
props - 関連プロパティを保持する Properties オブジェクト
クライアントは、JavaMail 仕様の付録 A に記載されるプロパティ (特に mail.store.protocol、mail.transport.protocol、mail.host、mail.user、および mail.from) の値を供給しなければなりません。これは、デフォルトがすべての場合に機能するとは限らないためです。
authenticator - ユーザ名とパスワードが必要な場合、アプリケーションにコールバックするために使用される Authenticator オブジェクト
戻り値:
新しい Session オブジェクト
関連項目:
Authenticator

getInstance

public static Session getInstance(java.util.Properties props)
新しい Session オブジェクトを取得します。
パラメータ:
props - 関連プロパティを保持する Properties オブジェクト
クライアントは、JavaMail 仕様の付録 A に記載されるプロパティ (特に mail.store.protocol、mail.transport.protocol、mail.host、mail.user、および mail.from) の値を供給しなければなりません。これは、デフォルトがすべての場合に機能するとは限らないためです。
戻り値:
新しい Session オブジェクト
導入されたバージョン:
JavaMail 1.2

getDefaultInstance

public static Session getDefaultInstance(java.util.Properties props,
                                         Authenticator authenticator)
デフォルトの Session オブジェクトを取得します。デフォルトがまだ設定されていない場合、新しい Session オブジェクトが作成され、デフォルトとしてインストールされます。

デフォルトのセッションは同じ Java 仮想マシン中で実行するすべてのコードで使用できる可能性があり、セッションはユーザ名やパスワードといったセキュリティ上機密の情報を含むことがあるので、デフォルトのセッションへのアクセスは制限されます。呼び出し側により作成されなければならない Authenticator オブジェクトは、アクセス権限をチェックするために間接的に使用されます。セッションが作成される際に渡される Authenticator オブジェクトは、デフォルトのセッションを取得するための後続要求に渡される Authenticator オブジェクトと比較されます。2 つのオブジェクトが同じ場合、または同じ ClassLoader の場合、要求は許可されます。そうでない場合は拒否されます。

セッションを作成するために使用される Authenticator オブジェクトが null の場合、null を渡すことにより誰でもデフォルトのセッションを取得できます。

JDK 1.2 では、デフォルトのセッションへのアクセスを制御するために、追加のセキュリティ Permission オブジェクトを使用できます。

パラメータ:
props - Properties オブジェクト。新しい Session オブジェクトが作成される場合にのみ使用される
クライアントは、JavaMail 仕様の付録 A に記載されるプロパティ (特に mail.store.protocol、mail.transport.protocol、mail.host、mail.user、および mail.from) の値を供給しなければなりません。これは、デフォルトがすべての場合に機能するとは限らないためです。
authenticator - Authenticator オブジェクト。新しい Session オブジェクトが作成される場合にのみ使用される。そうでない場合、Session を作成するために使用される Authenticator に一致しなければならない
戻り値:
デフォルトの Session オブジェクト

getDefaultInstance

public static Session getDefaultInstance(java.util.Properties props)
デフォルトの Session オブジェクトを取得します。デフォルトがまだ設定されていない場合、新しい Session オブジェクトが作成され、デフォルトとしてインストールされます。

Authenticator なしで作成されたデフォルトのセッションは、同じ Java 仮想マシンで実行中のすべてのコードが使用可能であり、セッションにはユーザ名やパスワードといったセキュリティ上機密の情報が含まれる場合があります。

パラメータ:
props - Properties オブジェクト。新しい Session オブジェクトが作成される場合にのみ使用される
クライアントは、JavaMail 仕様の付録 A に記載されるプロパティ (特に mail.store.protocol、mail.transport.protocol、mail.host、mail.user、および mail.from) の値を供給しなければなりません。これは、デフォルトがすべての場合に機能するとは限らないためです。
戻り値:
デフォルトの Session オブジェクト
導入されたバージョン:
JavaMail 1.2

setDebug

public void setDebug(boolean debug)
この Session のデバッグ設定を行います。

Session を作成した後にしかデバッグ設定を有効にできないため、Session コンストラクタ中のデバッギングを有効にするには、コンストラクタに渡される Properties オブジェクト中の mail.debug プロパティを true に設定します。mail.debug プロパティの値は、Session 単位のデバッギングフラグを初期化するために使用されます。setDebug メソッドに対する後続の呼び出しは、Session 単位のデバッギングフラグを操作し、mail.debug プロパティに影響を与えません。

パラメータ:
debug - デバッグ設定

getDebug

public boolean getDebug()
この Session のデバッグ設定を取得します。
戻り値:
現在のデバッグ設定

getProviders

public Provider[] getProviders()
このメソッドは、このアプリケーションで使用可能な ClassLoader によりロードできる javamail.[default.]providers ファイル経由でインストールされたすべての実装の配列を返します。
戻り値:
設定されたプロバイダの配列

getProvider

public Provider getProvider(java.lang.String protocol)
                     throws NoSuchProviderException
指定されたプロトコルのデフォルトの Provider を返します。まず mail.<protocol>.class プロパティをチェックし、存在する場合は、この実装に関連付けられた Provider を返します。存在しない場合は、設定ファイル中に最初に現れる Provider を返します。プロトコルの実装が見つからない場合は、NoSuchProviderException をスローします。
パラメータ:
protocol - 設定されたプロトコル (つまり、smtp、imap など)
戻り値:
指定されたプロトコルについて現在設定されている Provider
例外:
NoSuchProviderException - 指定されたプロトコルのプロバイダが見つからない場合

setProvider

public void setProvider(Provider provider)
                 throws NoSuchProviderException
渡された Provider を、以前のすべての値をオーバーライドすることにより、Provider.protocol 中のプロトコルに対するデフォルトの実装として設定します。
パラメータ:
provider - プロトコルのデフォルトとして設定される現在設定されている Provider
例外:
NoSuchProviderException - 渡されたプロバイダが無効の場合

getStore

public Store getStore()
               throws NoSuchProviderException
このユーザが望む Store プロトコルを実装する Store オブジェクトを取得します。mail.store.protocol プロパティは希望するプロトコルを指定します。適切な Store オブジェクトが取得されない場合、NoSuchProviderException がスローされます。
戻り値:
Store オブジェクト
例外:
NoSuchProviderException - 指定されたプロトコルのプロバイダが見つからない場合

getStore

public Store getStore(java.lang.String protocol)
               throws NoSuchProviderException
指定されたプロトコルを実装する Store オブジェクトを取得します。適切な Store オブジェクトが取得できない場合、NoSuchProviderException がスローされます。
パラメータ:
protocol -  
戻り値:
Store オブジェクト
例外:
NoSuchProviderException - 指定されたプロトコルのプロバイダが見つからない場合

getStore

public Store getStore(URLName url)
               throws NoSuchProviderException
指定された URLName の Store オブジェクトを取得します。要求された Store オブジェクトが取得できない場合、NoSuchProviderException がスローされます。Store プロトコルの特定には、URL 文字列の「scheme」部分 (RFC 1738 を参照) が使用されます。

パラメータ:
url - 希望する Store を表す URLName
戻り値:
閉じた Store オブジェクト
例外:
NoSuchProviderException - 指定された URLName のプロバイダが見つからない場合
関連項目:
getFolder(URLName), URLName

getStore

public Store getStore(Provider provider)
               throws NoSuchProviderException
Provider により指定されたストアのインスタンスを取得します。ストアをインスタンス化して返します。
パラメータ:
provider - インスタンス化されるストアの Provider
戻り値:
インスタンス化された Store
例外:
NoSuchProviderException - 指定された Provider のプロバイダが見つからない場合

getFolder

public Folder getFolder(URLName url)
                 throws MessagingException
指定された URLName の閉じた Folder オブジェクトを取得します。要求した Folder オブジェクトが取得できない場合、null が返されます。

Store プロトコルの特定には、URL 文字列の「scheme」部分 (RFC 1738 を参照) が使用されます。URL 文字列の残り (つまり、RFC 1738 で規定される「schemepart」) は Store により、プロトコルに依存した方法で、適切な Folder オブジェクトの特定とインスタンス化に使用されます。

RFC 1738 は、IP ベースのプロトコル (IMAP4、POP3 など) の「schemepart」に関する構文も指定しています。IP ベースのメール Store のプロバイダは、Folder を参照するための構文を実装しなければなりません。

パラメータ:
url - 希望する Folder を表す URLName
戻り値:
Folder
例外:
NoSuchProviderException - 指定された URLName のプロバイダが見つからない場合
MessagingException - Folder を特定または作成できない場合
関連項目:
getStore(URLName), URLName

getTransport

public Transport getTransport()
                       throws NoSuchProviderException
このユーザが望む Transport プロトコルを実装する Transport オブジェクトを取得します。mail.transport.protocol プロパティは希望するプロトコルを指定します。適切な Transport オブジェクトが取得できない場合、MessagingException がスローされます。
戻り値:
Transport オブジェクト
例外:
NoSuchProviderException - プロバイダが見つからない場合

getTransport

public Transport getTransport(java.lang.String protocol)
                       throws NoSuchProviderException
指定されたプロトコルを実装する Transport オブジェクトを取得します。適切な Transport オブジェクトが取得できない場合、null が返されます。
戻り値:
Transport オブジェクト
例外:
NoSuchProviderException - 指定されたプロトコルのプロバイダが見つからない場合

getTransport

public Transport getTransport(URLName url)
                       throws NoSuchProviderException
指定された URLName の Transport オブジェクトを取得します。要求された Transport オブジェクトが取得できない場合、NoSuchProviderException がスローされます。Transport プロトコルの特定には、URL 文字列の「scheme」部分 (RFC 1738 を参照) が使用されます。

パラメータ:
url - 希望する Transport を表す URLName
戻り値:
閉じた Transport オブジェクト
例外:
NoSuchProviderException - 指定された URLName のプロバイダが見つからない場合
関連項目:
URLName

getTransport

public Transport getTransport(Provider provider)
                       throws NoSuchProviderException
Provider 中に指定されたトランスポートのインスタンスを取得します。トランスポートをインスタンス化して返します。
パラメータ:
provider - インスタンス化されるトランスポートの Provider
戻り値:
インスタンス化された Transport
例外:
NoSuchProviderException - 指定されたプロバイダのプロバイダが見つからない場合

getTransport

public Transport getTransport(Address address)
                       throws NoSuchProviderException
Message を指定されたアドレス型にトランスポート可能な Transport オブジェクトを取得します。
パラメータ:
address -  
戻り値:
Transport オブジェクト
例外:
NoSuchProviderException - Address 型のプロバイダが見つからない場合
関連項目:
Address

setPasswordAuthentication

public void setPasswordAuthentication(URLName url,
                                      PasswordAuthentication pw)
この (ストアまたはトランスポート) URLName の PasswordAuthentication を保存します。pw が null の場合、URLName に対応するエントリは削除されます。

これは通常、ストアまたはトランスポートの実装により、認証情報が 1 つのセッションで複数回使用できるようにするためだけに使用されます。


getPasswordAuthentication

public PasswordAuthentication getPasswordAuthentication(URLName url)
この (ストアまたはトランスポート) URLName の任意の保存された PasswordAuthentication を返します。通常、ストアまたはトランスポートの実装によってのみ使用されます。
戻り値:
URLName に対応する PasswordAuthentication

requestPasswordAuthentication

public PasswordAuthentication requestPasswordAuthentication(java.net.InetAddress addr,
                                                            int port,
                                                            java.lang.String protocol,
                                                            java.lang.String prompt,
                                                            java.lang.String defaultUserName)
必要なユーザ名とパスワードを取得するために、アプリケーションにコールバックします。アプリケーションは、以下のようなダイアログを表示しなければなりません。

 Connecting to <protocol> mail service on host <addr>, port <port>.
 <prompt>

 User Name: <defaultUserName>
 Password:
 
パラメータ:
addr - ホストの InetAddress。null の場合がある
protocol - プロトコル体系 (imap、pop3 など)
prompt - プロンプトの一部として表示するための任意の追加 String。null の場合がある
defaultUserName - デフォルトのユーザ名。null の場合がある
戻り値:
認証者により収集された認証。null の場合がある

getProperties

public java.util.Properties getProperties()
この Session に関連付けられた Properties オブジェクトを返します。
戻り値:
Properties オブジェクト

getProperty

public java.lang.String getProperty(java.lang.String name)
指定されたプロパティの値を返します。このプロパティが存在しない場合は null を返します。
戻り値:
プロパティ値となる文字列


Copyright 2002 Sun Microsystems, Inc. All rights reserved.
使用には使用許諾契約が適用されます。