是否可以使用java邮件在IMAP邮件上设置自定义标志而不覆盖现有标志?例如,我需要在已处理的消息上设置一个标记为“已处理”而不将其状态更改为SEEN / DELETED,或者没有邮件客户端干扰此“已处理”标记。
然后我需要找到所有没有“已处理”标志的邮件并处理它们,之后它们也会被标记为“已处理”。
谢谢!
答案 0 :(得分:16)
Flags processedFlag = new Flags("processed");
folder.setFlags(msgs, processedFlag, true);
// or
msg.setFlags(processedFlag, true);
并非所有IMAP服务器都支持这些“用户标志”,但大多数都会支持。要查找没有此标志的消息:
Message[] msgs = folder.search(new FlagTerm(processedFlag, false));