Does reading messages from Exchange mark them as read?
EWS - NO. The
IsRead
flag can be set by the UpdateItem method as shown at https://www.rebex.net/secure-mail.net/features/ews-messages.aspx#metadataIMAP - Yes, by default. This can be disabled by the
Imap.Settings.UsePeekForGetMessage
property.POP3 - N/A - POP3 has no flags.
I need to be sure they will not pull the same messages if they run at exactly same time.
It is not possible in no mail protocol (POP3, IMAP, EWS). To do this, the server would be capable of operations like "atomic operation for downloading a message and deleting it" or "atomic operation for downloading an unread message and marking it as read".
So you have to synchronize the two processes by yourself. You can use for example Mutex.