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