8.3 JavaMailを利用する場合の注意事項

この節では,JavaMailを利用する場合の注意事項について説明します。

<この節の構成>
(1) メソッドの例外発生について
(2) POP3でのSEENフラグの動作について
(3) JavaMailのプロバイダについて

(1) メソッドの例外発生について

次のクラスのメソッドでは,JavaMail仕様どおりに例外が発生しません。

項番クラス名メソッド名
1javax.mail.MessagesetFlag,setFlags
2javax.mail.FoldersetFlags

READ_ONLYを設定したjavax.mail.Folderオブジェクトから取得したjavax.mail.Messageオブジェクトに対して,表中に示したメソッドでフラグの値を変更しても,READ_WRITEを設定したときと同様に正しくフラグが設定されます。

ただし,POP3の場合,READ_ONLYでフォルダをオープンし,メッセージにDELETEDフラグを設定しても,実際にはメールは削除されません。

(2) POP3でのSEENフラグの動作について

JavaMail仕様ではMessageのgetInputStreamメソッドとgetContentメソッドを使用した場合,SEENフラグが設定される仕様となっていますが,実際にはSEENフラグは設定されません。

(3) JavaMailのプロバイダについて

アプリケーションサーバで使用できるJavaMailのプロバイダは,アプリケーションサーバがデフォルトで提供するSMTPおよびPOP3のプロバイダだけです。javamail.providersファイルを使用して別のプロバイダに差し替えた場合の動作は保証しません。