Finding a specific unread mail from list of mails using Javamail

MY approach is –

  1. Get the total mail list –

    List<Message> totalMessageList = Arrays
  2. 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.

  3. 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 Message[]

with the relevant SearchTerm, e.g. FlagTerm for the unread flag

Quick search on Google found this

which might be useful, but I haven’t tried it

Leave a Reply

Your email address will not be published. Required fields are marked *