アプリケーションで通知をテストするために、JavaMail を使用してこれらの通知を確認しています。添付ファイルの有無にかかわらず、通知のテストがあります。最初のテストは、添付ファイルのない電子メールに対して正常に実行されます。確認したら、メールを削除し、アプリケーションから添付ファイル付きの別の通知を送信します。今、私は問題に直面しています。私の受信トレイには 1 つのメールがありますが、2 つのスレッドがあります (添付ファイルのない最初のメールと添付ファイルのある最新のメールは両方とも同じ件名であるため、同じメールで 2 つのスレッドになります)。私のコードは、添付ファイル付きの電子メールを想定しているため、エラーをスローしますが、代わりに添付ファイルなしで読み取ります。これは、以前の通知が正しく削除されていないということですか? これが私がやった方法です:
//If all messages are read, mark the latest read message as deleted
if(folder.getUnreadMessageCount() == 0){
message.setFlag(Flags.Flag.DELETED, true);
}
//If any message is marked deleted, delete that message from folder
if(message.isSet(Flags.Flag.DELETED)){
folder.expunge();
}
また、最初の通知が完全に削除されることを 100% 確実にするために、以下を追加しました。
folder.close(true);
何か不足していますか?または、メール内のスレッドを区別する方法はありますか?