JavaMailを使う場合、まずメイルサーバとの間のセッションを確立しなければなりません。メイルサーバとの間のセッションは、javax.mail.Session
オブジェクトで実現されます。
SessionオブジェクトはSessionクラスのstaticメソッドを使って取得します。SessionクラスにはSessionオブジェクトを取得するためのstaticメソッドが4つ用意されています。
Defaultがついていないメソッドは新規にSessionオブジェクトを作成します。Defaultがついている場合、既にあるSessionオブジェクトが使われます(共有されることになります)。Authenticatorオブジェクトを指定しないメソッドはAuthenticatorにnullを指定した場合と同じです。Propertiesとして指定できるプロパティ情報は次の通りです(詳細はJavaMail API Design SpecificationのAppendix Aに記述されています)。
mail.store.protocol
mail.transport.protocol
mail.host
mail.user
mail.
protocol.host
mail.
protocol.user
mail.from
mail.debug
もっともこれらの値はあとで指定することもできますので、Sessionオブジェクトを取得する時点では空のPropertiesオブジェクトを指定しても問題ありません。
Authenticatorはメイルサーバとの接続に必要な認証情報を、メソッドに生で渡すのではなく、オブジェクトとして間接的に渡すための仕掛けです。Authenticatorをextendsした独自のクラスを作成して使用しますが、通常は気にせず、nullで良いです。
従って一番シンプルなセッションの取得方法は、
Properties prop = new Properties();
Session session = Session.getDefaultInstance(prop);
ということになります。