I am desperately trying to figure out a way to access a message without having the MAIL_IS_SEEN flag set. I have some background server apps that need to scan folders and do various automated maintenance tasks. I do not want unread mail to be marked as seen just because the utility happened to pass over it. Yet I can't seem to stop it from happening. I saw some posts on IMAP forums that said this was the way IMAP worked. Really? There is absolute NO WAY to scan a folder and look at messages in a background utility and maintain the MAIL_IS_SEEN state if it hasn't "really" been seen by the user?

I have a test case that verifies what is happening:

-- direct SQL query to JAMES_Mail record in db to check MAIL_IS_SEEN (initially = 0)
-- folder.open(Folder.READ_ONLY);
-- message = ((UIDFolder)folder).getMessageByUID( uid );
-- direct SQL query to JAMES_Mail record in db to check MAIL_IS_SEEN ( changed to 1)

I figured that if I opened the folder in READ_ONLY mode, then, by definition of the term READ_ONLY I would not have 'change' authority, and therefore the MAIL_IS_SEEN flag would not be affected. No difference. Even opening a folder in READ_ONLY mode causes all of the mail to be set to 'SEEN'.

Am I missing something really obvious here? I can't believe there is no benign way to scan a folder without JAMES automatically deciding that all mail has now been 'seen'.

Am I totally misunderstanding READ_ONLY mode of folders? Is this a bug in JAMES? Is there a totally different way to access a message via a Java program WITHOUT having JAMES auto-set it to 'seen'? Or am I basically out of luck?

Thanks.

Jerry


---------------------------------------------------------------------
To unsubscribe, e-mail: server-user-unsubscr...@james.apache.org
For additional commands, e-mail: server-user-h...@james.apache.org

Reply via email to