javamail:在imap邮件上设置自定义标志并使用自定义标志搜索邮件

Jan*_*ert 6 java email imap jakarta-mail

是否可以使用java邮件在IMAP邮件消息上设置自定义标志而不覆盖现有标志?例如,我需要在已处理的消息上设置"已处理"标志,而不将其状态更改为SEEN/DELETED,或者没有邮件客户端干扰此"已处理"标志.

然后我需要找到所有没有"已处理"标志的邮件并处理它们,之后它们也被标记为"已处理".

谢谢!

Bil*_*non 17

Flags processedFlag = new Flags("processed");
folder.setFlags(msgs, processedFlag, true);
// or
msg.setFlags(processedFlag, true);
Run Code Online (Sandbox Code Playgroud)

并非所有IMAP服务器都支持这些"用户标志",但大多数都会支持.要查找没有此标志的消息:

Message[] msgs = folder.search(new FlagTerm(processedFlag, false));
Run Code Online (Sandbox Code Playgroud)