Constructor RemoteEmailFlagSnapshot
- Namespace
- MailFathom.Domain.Emails
- Assembly
- MailFathom.Domain.dll
RemoteEmailFlagSnapshot(DateTimeOffset?, bool, bool, bool, bool, bool)
Reports the IMAP flags a mail server last showed for one email, and when they were read.
public RemoteEmailFlagSnapshot(DateTimeOffset? ObservedAt, bool IsSeen, bool IsAnswered, bool IsFlagged, bool IsDraft, bool IsDeleted)
Parameters
ObservedAtDateTimeOffset?When the flags below were last read from the server, or null while they have never been read.
IsSeenboolWhether the server reported the
\Seenflag.IsAnsweredboolWhether the server reported the
\Answeredflag.IsFlaggedboolWhether the server reported the
\Flaggedflag.IsDraftboolWhether the server reported the
\Draftflag.IsDeletedboolWhether the server reported the
\Deletedflag.
Remarks
The snapshot is an observation of server state and travels in one direction only: MailFathom reads mail read-only, so
no application path turns any of these into an IMAP STORE. Above all, reading an email through MailFathom never
sets \Seen remotely, and this type reports what the server said rather than what a local reader did.
ObservedAt is what separates "the server reported none of these flags" from "nobody has looked
yet", which no combination of the booleans can express on its own. A caller that filters or displays a flag reads it
together with the timestamp, because NeverObserved carries every flag as false
without having asked any server.