1

IMAP サーバーから電子メール (受信トレイのみ) を同期するアプリケーションを作成しています。そのために私はjavamailを使用していますが、パフォーマンスの問題があります。メールを更新したいとき、受信トレイ内のすべてのメッセージを取得しますが、数分かかります。:( それで、最後にメールを更新してから変更されたメッセージだけを取得したいと思います。日付以降に受信または送信されたメッセージを取得する方法を見つけましたが、やりたいことは少し異なります。非常に古いメッセージの状態 (未読から既読) この場合、変更日は最近ですが、受信日または送信日は古いです。

何か案が ?

よろしく、クエンティン

4

1 に答える 1

0

古いメッセージの内容は変更できませんが、フラグは変更できます。すべてのメッセージのすべてのフラグを取得し、キャッシュされたフラグのコピーと比較できます。(これに役立つ IMAP 拡張機能がありますが、多くの IMAP サーバーはそれらをサポートしておらず、JavaMail もそれらをサポートしていません。)

Folder.fetch メソッドを使用して、1 回の操作ですべてのフラグをフェッチしてから、Message オブジェクトを反復処理してフラグを比較します。

于 2012-08-07T17:43:15.513 に答える