Class MailDraftServerCopy
- Namespace
- MailFathom.Domain.Delivery.Drafts
- Assembly
- MailFathom.Domain.dll
Reports one copy of a draft that MailFathom put into the drafts folder, and what has become of it since.
public sealed record MailDraftServerCopy : IEquatable<MailDraftServerCopy>
- Inheritance
-
MailDraftServerCopy
- Implements
- Inherited Members
Remarks
One row per revision of the draft, which is what makes a replacement expressible at all. IMAP has no command that changes a stored message, so a new version of a draft is a new message beside the old one and the old one is removed afterwards — and between those two commands the folder holds two copies that both belong to this draft. A single slot could not say that, and a slot overwritten by the newer copy would lose the only thing naming the one still to be taken out.
The occurrence recorded here is the server's own statement about the copy it accepted, never a search for something
that looks like the message. That is the whole of what makes the removal safe: the only UID this system ever expunges
is one an APPEND of its own reported, so a draft the owner wrote themselves is unreachable from here by
construction rather than by a check.
Nothing here is mail content. A folder, an alias, a UID, and an identity MailFathom minted itself are its own or the server's names for things.
Properties
- AppendedAt
Gets when the append was issued.
- FolderAlias
Gets MailFathom's own name for the folder the copy went into, which is what a failure and a log line name.
- FolderPath
Gets the remote path the copy was appended to, which is what a later attempt compares the resolution against.
- HasUnknownOutcome
Gets whether the append went out and the server's answer to it never came back.
- InternetMessageId
Gets the
Message-IDthe appended copy carries, or null while none was read.
- IsRemovable
Gets whether MailFathom can still name this copy to a server well enough to remove it.
- IsStanding
Gets whether the folder holds this copy as far as MailFathom knows.
- Placement
Gets where the folder put the copy, as far as the server said.
- Revision
Gets which revision of the draft this copy carries.
- Stage
Gets what has become of the copy.
Methods
- NamesFolder(RemoteFolderPath)
Reports whether this copy still names the folder a fresh resolution of the drafts role points at.