IMAP を使用して GMail からメールを取得するために javax.mail を使用しています。各メールに適用されているタグも取得したいので、ストア内のすべてのフォルダー (実際にはタグ) を反復処理し、相互にメールをダウンロードしています。
ImapFolderのメソッドgetUIDを使用して各メッセージの UID を取得し、それらを比較して、異なるフォルダーに沿って同じメールを認識していました。
たとえば、"A" と "B" でタグ付けされた "Hello" というメールがある場合、"Inbox"、"A"、"B" フォルダーを反復処理し、各フォルダーから同じメールを取得します。そのため、"Inbox"、"A"、"B" のタグを付けた 1 つのコピーを保持できました。
ただし、getUID メソッドはフォルダーに関連する ID を返すため、同じメールが別のフォルダーに異なる ID を持っていたり、別のメールが別のフォルダーに同じ ID を持っていたりする可能性があります。例では。「Hello」は、「A」ではメール 1、「B」ではメール 2 として表示される場合があります。
フォルダとは関係なく、各メールのストア相対 ID を取得する方法はありますか? または、単一のメールに添付されたタグを取得するより良い方法はありますか?