【问题标题】:javamail: Setting custom flags on imap mail and searching for mails with custom flagsjavamail:在 imap 邮件上设置自定义标志并搜索具有自定义标志的邮件
【发布时间】:2012-03-05 21:36:41
【问题描述】:

是否可以使用 java 邮件在 IMAP 邮件消息上设置自定义标志而不覆盖现有标志?例如,我需要在已处理的邮件上设置一个“已处理”标志,而不会将其状态更改为“已查看/已删除”或邮件客户端不会干扰此“已处理”标志。

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

谢谢!

【问题讨论】:

    标签: java email imap jakarta-mail


    【解决方案1】:
    Flags processedFlag = new Flags("processed");
    folder.setFlags(msgs, processedFlag, true);
    // or
    msg.setFlags(processedFlag, true);
    

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

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

    【讨论】:

    • 我们如何获得每个邮箱自定义邮件标志的限制?
    • 交换服务器是否支持?
    • 没有获得标志限制的标准方法。我相信 Exchange 确实支持用户标志。
    • 这里找到了,好像exchange不支持:serverfault.com/questions/115769/…,它的永久标志不包含\*。
    猜你喜欢
    • 1970-01-01
    • 2018-06-03
    • 1970-01-01
    • 2019-11-30
    • 2019-11-10
    • 1970-01-01
    • 1970-01-01
    • 2011-03-06
    • 1970-01-01
    相关资源
    最近更新 更多