我的方法是 -
获取总邮件列表 -
List<Message> totalMessageList = Arrays
.asList(folder.getMessages());
创建一个仅包含未读邮件的列表。 (我不得不这样做因为我找不到任何直接的API来获取新邮件列表。有一个问题有助于查找邮件是否未读过here)
List<Message> unreadMessageList = new ArrayList<Message>();
为简洁起见,我没有公布从总邮件列表构建未读邮件列表的整个逻辑。
迭代未读邮件列表&gt;检查邮件是否有所需主题,然后阅读邮件内容&gt;如果没有找到此类邮件,则抛出IllegalStateExcepton
现在我的问题是 - 我可以改进这种方法吗?
答案 0 :(得分:1)
你能用吗
Folder.search(SearchTerm): Message[]
使用相关的SearchTerm,例如FlagTerm为未读标志
http://javamail.kenai.com/nonav/javadocs/javax/mail/search/FlagTerm.html
在Google上快速搜索找到了这个
http://www.java2s.com/Code/Java/Email/Searchthegivenfolderformessagesmatchingthegivencriteria.htm
这可能有用,但我还没有尝试过