Clearing the message flag from outlook

0 votes
asked Dec 20, 2016 by twilliams (150 points)

When my application is processing messages from a inbox and a issue arises, I flag the message ex:

SetMessageFlags(id, ImapFlagAction.Add, ImapMessageFlags.Flagged)

This flags the message (all messages are marked as read before my app processes them so I can not use the unread message flag and search) in outlook so someone can check the message. My application is also only processing non flagged messages ex:

Search(ImapSearchParameter.HasFlagsNoneOf(ImapMessageFlags.Flagged))

My problem is that from outlook when the flag is cleared ("Clear Flag" right-click option) the application still does not find the now unflagged email.

Applies to: Rebex Secure Mail

1 Answer

0 votes
answered Dec 21, 2016 by Lukas Matyska (39,480 points)
selected Dec 21, 2016 by twilliams
 
Best answer

The problem is in the behavior of Exchange server. IMAP flags are not fully linked with their Exchange/Outlook representation. This means:

If a user sets a flag to a message in Outlook, it is not reported using IMAP protocol. However if a client sets a flag using IMAP protcol, it is shown in Outlook as well.

Similar is clearing flags. If a user in Outlook clears the flag it is still reported as Flagged in IMAP protocol. However if a flag is removed using IMAP protocol, it is also cleared in Outlook.

This is behavior of Exchange/Outlook, not the IMAP protocol. Other servers do this differently e.g. Gmail.

If your server supports keywords, I suggest you to use it. If not, you have to use something else.

For example, if you use ImapMessageFlags.Draft in the INBOX folder, the user will not see this flag (nor change it), but you will be able to search for it using IMAP protocol.

commented Dec 21, 2016 by twilliams (150 points)
That's what I was expecting.  The flag will still work in my situation since the user can not change the message to correct the problem in the first place.  So a new or forwarded message allows for correction of the attachment issue and at the same time the new message doesn't have a set flagged IMAP flag set.
...