08/04/23 16:01:35
JavaMailでsetFlagsがサーバー側に保存されません。
(接続部分省略)
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_WRITE);
//メッセージ数表示
System.out.println(folder.getMessageCount());
//適当なメッセージを取得
Message msg = folder.getMessage(2000);
System.out.println(msg.getSubject());
//フラグを変更
Flags flag = new Flags(Flags.Flag.SEEN);
msg.setFlags(flag, true);
//フラグの立っているメッセージを取得
Message[] msgs = folder.search(new FlagTerm(new Flags(Flags.Flag.SEEN), true));
for(int i=0; i<msgs.length; i++) System.out.println(msgs[i].getSubject());
//再び総数と、未読数を取得
System.out.println(folder.getMessageCount());
System.out.println(folder.getUnreadMessageCount());
folder.close(false);
store.close();
これで、実行すると未読数の数は減ります。
で、取得するメッセージを変えても、以前の物にフラグが立っていない状態です。