Index: connector/src/main/java/org/jboss/resource/adapter/mail/inflow/IMAPMailFolder.java =================================================================== --- connector/src/main/java/org/jboss/resource/adapter/mail/inflow/IMAPMailFolder.java (revision 110324) +++ connector/src/main/java/org/jboss/resource/adapter/mail/inflow/IMAPMailFolder.java (working copy) @@ -21,6 +21,7 @@ */ package org.jboss.resource.adapter.mail.inflow; +import javax.mail.Flags; import javax.mail.Folder; import javax.mail.Message; import javax.mail.MessagingException; @@ -28,6 +29,7 @@ import javax.mail.Session; import javax.mail.Store; import javax.mail.Flags.Flag; +import javax.mail.search.SearchTerm; public class IMAPMailFolder extends MailFolder { @@ -36,16 +38,17 @@ } protected Message[] getMessages(Folder folder) throws MessagingException { - if (folder.getUnreadMessageCount() > 0) { - int newCount = folder.getUnreadMessageCount(); - int messageCount = folder.getMessageCount(); - // folder.getMessages indexes from 1 and uses an inclusive range (ffs) - return folder.getMessages(messageCount - newCount + 1, messageCount); - } - else - { - return new Message[0]; - } + return folder.search(new SearchTerm() { + + @Override + public boolean match(Message msg) { + try { + return !msg.isSet(Flags.Flag.SEEN); + }catch(MessagingException e) { + return false; + } + } + }); } protected Store openStore(Session session) throws NoSuchProviderException {