3

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 を取得する方法はありますか? または、単一のメールに添付されたタグを取得するより良い方法はありますか?

4

2 に答える 2

3

gmail フォーラムから回答を得ました: 探していた値を含む "message-id" ヘッダーがあります。

于 2008-10-21T12:55:50.143 に答える
1

メッセージヘッダーに基づいて自分で計算したハッシュを使用するのが唯一の方法だと思います。

于 2008-10-20T20:27:27.127 に答える