MY approach is -
Get the total mail list -
List<Message> totalMessageList = Arrays .asList(folder.getMessages());
Create a list out of this which has only unread mails. (I had to do this coz I could not find a any direct API to get list of new mails. One question which helped in finding whether a message is unread or not was posted here )
List<Message> unreadMessageList = new ArrayList<Message>();
For sake of brevity I have not posted entire logic of building the list of unread mail from list of total mails.
Iterate through the list of unread mails > Check if any mail has desired subject then read content of mail > If no such mail found then throw IllegalStateExcepton
Now my question is - Could I improve on this approach?
Can you use
Folder.search(SearchTerm): Message[]
with the relevant SearchTerm, eg FlagTerm for the unread flag
http://javamail.kenai.com/nonav/javadocs/javax/mail/search/FlagTerm.html
Quick search on Google found this
http://www.java2s.com/Code/Java/Email/Searchthegivenfolderformessagesmatchingthegivencriteria.htm
which might be useful, but I haven't tried it
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.