- PR -

【JavaMail】サイズの大きなメッセージが削除(POP3)

1
投稿者投稿内容
しがないエンジニア
会議室デビュー日: 2008/10/07
投稿数: 2
投稿日時: 2008-10-07 15:08
皆様、こんにちは。
いつも参考にさせていただいております。

メールサーバからメールを取得した後、メール情報を削除しようとしています。
その際、サイズの大きなメール情報の削除した場合に、ERROR_LOG記載のメッセージが出力され、
メール情報の削除ができません。
具体的なロジック中のエラー発生箇所は以下のとおりです。

●inbox.close(true); ←[inbox]はPOP3サーバ上の受信ボックスを格納するFolderクラスのインスタンスです。
上記実行時に MessagingException が発生(Exception の Message は null)

尚、メッセージサイズが小さい場合はExceptionも発生せず、削除してくれます。
また、開発環境で確認したところ、メッセージのファイルサイズ:2MB を超えた辺りからExceptionが発生します。
また、ロジックとしては、以下の順序にて組み込んでいます。
(OPEN -> 受信 -> 削除フラグの設定 -> CLOSE(※1)) ※1でMessagingExceptionが発生します。

上記のように考えていることから、以下の情報について知りたいと考えております。
どなたか知っている方がおられましたら、よろしくご教授願います。
 @ JavaMailでは、サイズによってメッセージ削除可否を制限しているのか?
 A JavaMailでは、サイズの大きなメッセージは削除できないのか?
 B (Aが NO の場合)サイズの大きなメッセージを削除するにはどうしたらよいか?

-----------ERROR_LOG--------------
javax.mail.MessagingException
at com.sun.mail.pop3.POP3Folder.close(POP3Folder.java:205)

--------VERSIONS---------------
Java 1.4.2_06, running on Windows 2003
Tomcat 4.1.30, running on Windows 2003

以上、よろしくお願いいたします。
しがないエンジニア
会議室デビュー日: 2008/10/07
投稿数: 2
投稿日時: 2008-10-07 18:11
こんにちは。
先ほど、質問を投稿させていただきましたが自己解決いたしました。

原因は、ファイルサイズによるものではなくタイムアウトによるものでした。
また、タイムアウトを起こしていたのはサーバ側ではなく、メールアプリケーション側で
セッションを切っていました。

そのため、メールアプリケーション側のセッションタイムアウトの設定を延ばすことで
上記の現象は発生しなくなりました。

以上です。
1

スキルアップ/キャリアアップ(JOB@IT)