我正在使用javax.mail使用' imaps'来读取收件箱文件夹中的邮件。协议。我使用下面的代码片段:
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);
但我没有得到任何消息。我想要最新的消息,它仍然没有被阅读/看到。请提出更好的解决方案?我仍然不确定新旗帜(Flags.Flag.RECENT)设置为TRUE或FALSE'办?
答案 0 :(得分:0)
您尚未包含所有代码。大概你在AndTerm中使用这两个FlagTerms,你传递给搜索方法。
当在消息上设置RECENT标志时,以及当它被清除时,它在某种程度上取决于服务器。如果您打开一个文件夹并关闭它,它可能会清除所有RECENT标志,前提是您已经看到哪些消息是最近的。
如果忽略RECENT标志并且只查找未设置的SEEN标志,您可能会有更好的运气。
您还需要确定“最近”是否表示“最近收到”或“最近发送”。前者很容易;它只是返回数组中的最后一条消息。后者将要求您按发送日期对返回的消息进行排序。