【问题标题】:Read Recent and Unseen message using javax.mail使用 javax.mail 阅读最近和未见过的消息
【发布时间】:2015-03-12 18:44:18
【问题描述】:

我正在使用 javax.mail 使用“imaps”协议从收件箱文件夹中读取邮件。我正在使用以下代码 sn-p:

  Session session = Session.getDefaultInstance(props, null);
  Store store = session.getStore("imaps");
  store.connect();
  store.getFolder("inbox");
  inbox.open(Folder.READ_WRITE);
  FlagTerm unseenFlagTerm = new FlagTerm(new Flags(Flags.Flag.SEEN), false);
  FlagTerm recentFlagTerm = new FlagTerm(new Flags(Flags.Flag.RECENT), true);

但我没有收到任何消息。我想要最新的消息,它仍然没有被阅读/看到。请提出更好的解决方案?我仍然不确定'new Flags(Flags.Flag.RECENT) set TRUE or FALSE'做什么?

【问题讨论】:

    标签: java jakarta-mail


    【解决方案1】:

    您尚未包含所有代码。大概您在 AndTerm 中使用了这两个 FlagTerm,然后将其传递给 search 方法。

    在消息上设置 RECENT 标志以及清除它时,它在某种程度上取决于服务器。如果您打开一个文件夹然后将其关闭,它可能会清除所有 RECENT 标志,假设您已经查看了哪些邮件是最近的。

    忽略 RECENT 标志而只寻找未设置的 SEEN 标志可能会更好。

    您还需要确定“最近”是指“最近收到”还是“最近发送”。前者很容易;它只是返回数组中的最后一条消息。后者将要求您按发送日期对返回的消息进行排序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-16
      • 1970-01-01
      • 1970-01-01
      • 2019-08-29
      • 1970-01-01
      • 2021-09-29
      • 2017-02-23
      • 1970-01-01
      相关资源
      最近更新 更多