我的方法是 -
获取总邮件列表 -
List<Message> totalMessageList = Arrays .asList(folder.getMessages());
据此创建一个仅包含未读邮件的列表。 (我必须这样做,因为我找不到任何直接的 API 来获取新邮件列表。发布了一个有助于确定邮件是否未读的问题 here )
List<Message> unreadMessageList = new ArrayList<Message>();
为了简洁起见,我没有发布从邮件总数列表中构建未读邮件列表的完整逻辑。
遍历未读邮件列表 > 检查是否有邮件具有所需的主题,然后读取邮件内容 > 如果没有找到此类邮件,则抛出 IllegalStateException
现在我的问题是 - 我可以改进这种方法吗?
最佳答案
你能用吗
Folder.search(SearchTerm): Message[]
使用相关的搜索词,例如未读标志的 FlagTerm
http://javamail.kenai.com/nonav/javadocs/javax/mail/search/FlagTerm.html
在 Google 上快速搜索发现了这个
http://www.java2s.com/Code/Java/Email/Searchthegivenfolderformessagesmatchingthegivencriteria.htm
这可能有用,但我还没有尝试过
关于java - 使用 Javamail 从邮件列表中查找特定的未读邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6900142/