Java Mail API を使用して gmail アカウントにアクセスしています (未修正)。特定のメール ID () のすべてのメールを検索する必要があります。検索は、指定された ID を持つメッセージが最初に出現したときに終了する必要があります (最適化: 指定された ID を持つ単一のメールのみが存在する必要があります)。
もちろん、「すべてのメール」フォルダをスキップしたいと思います。
最も簡単な方法は次のとおりです。
- デフォルトフォルダを取得
- デフォルトですべてのフォルダを取得します。
- 現在のフォルダーで MessageIDTerm を使用して検索する
- メッセージが見つからない場合は、サブフォルダーに対して手順 2 を再帰的に繰り返します
- それ以外の場合は、見つかったフォルダーを返します。
これにより、不要な無駄なサーバー呼び出しが多数発生します。より最適なアプローチはありますか?