Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * @param message The message to be processed.
- * @param read True to mark as READ, False to mark as UNREAD.
- */
- public static void markMessageAsRead(Message message, boolean read) {
- try {
- //Getting required variables
- Folder messageFolder = message.getFolder();
- int initialFolderMode = messageFolder.getMode();
- boolean initialFolderOpenState = messageFolder.isOpen();
- //If the folder is readonly then lets set it to readwrite
- if(initialFolderMode == Folder.READ_ONLY) {
- if(initialFolderOpenState) {
- message.getFolder().close(false);
- }
- message.getFolder().open(Folder.READ_WRITE);
- }
- //Make sure folder is open (incase the above if didn't evaluate)
- if(!initialFolderOpenState) {
- messageFolder.open(Folder.READ_WRITE);
- }
- //Marking message as seen
- message.setFlag(Flags.Flag.SEEN, read);
- //Now lets revert the folder to it's state before it came here
- if(initialFolderOpenState) {
- if(!messageFolder.isOpen()) {
- messageFolder.open(initialFolderMode);
- }
- } else {
- if(messageFolder.isOpen()) {
- messageFolder.close(false);
- }
- }
- } catch (MessagingException e) {
- e.printStackTrace();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement