2012-02-14 73 views
5

是否可以在不覆盖现有标志的情况下使用java邮件在IMAP邮件消息上设置自定义标志?例如,我需要在已处理的消息上设置一个“已处理”标志,而不将其状态更改为SEEN/DELETED,或者没有邮件客户端干扰此“已处理”标志。javamail:在imap邮件上设置自定义标志并搜索带有自定义标志的邮件

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

谢谢!

回答

14
Flags processedFlag = new Flags("processed"); 
folder.setFlags(msgs, processedFlag, true); 
// or 
msg.setFlags(processedFlag, true); 

并非所有的IMAP服务器都支持这些“用户标志”,但大多数都会。要找到没有此标志的邮件:

Message[] msgs = folder.search(new FlagTerm(processedFlag, false)); 
+1

谢谢比尔,正是我一直在寻找的! – 2012-02-15 07:22:44

+0

我们如何才能获得每个邮箱的自定义邮件标志限制? – benchpresser 2015-10-22 09:00:31

+0

它由交换服务器支持吗? – benchpresser 2015-10-22 14:48:35