Table of Contents

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

ObservedAt DateTimeOffset?

When the flags below were last read from the server, or null while they have never been read.

IsSeen bool

Whether the server reported the \Seen flag.

IsAnswered bool

Whether the server reported the \Answered flag.

IsFlagged bool

Whether the server reported the \Flagged flag.

IsDraft bool

Whether the server reported the \Draft flag.

IsDeleted bool

Whether the server reported the \Deleted flag.

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.