When I retrieve messages with your IMAP component, it's automatically marks them as "Seen"/"Read" (var eml = imap.GetMessageByUID(uid);)
You can use Imap.Peek* methods, if you don't want your IMAP server to mark messages as seen.
var eml = imap.PeekMessageByUID(uid);
VAT: PL 5213195875
02-707, Warsaw Poland