Struct OutgoingMailFiling
- Namespace
- MailFathom.Domain.Delivery.Filing
- Assembly
- MailFathom.Domain.dll
Names one place an outgoing message belongs in the mailbox, and what its copy looks like once it is there.
[JsonConverter(typeof(OutgoingMailFilingJsonConverter))]
public readonly record struct OutgoingMailFiling : IEquatable<OutgoingMailFiling>
- Implements
- Inherited Members
Remarks
A message MailFathom authors has a place in the mailbox at every stage of its life, and this is that stage read as
a filing: which role the destination folder plays and which flags the appended copy carries. Both travel together
because they are one answer — \Draft in the drafts folder and \Seen in the sent folder are not two
independent settings, they are what each of those folders means — and separating them would let a caller file a
draft as read.
The type is a closed enumeration of values rather than a C# enum, because the name is the identity: it is what the durable filing row stores, what a log line records, and what a counter is broken down by. The set is closed for the reason MailboxMutation's is, and a fourth place an outgoing message can be is a member to append rather than a second filing mechanism to build.
Held is the one member naming a role no mail server publishes. RFC 6154 defines the special-use
attributes a server may advertise and there is no \Outbox among them, because the outbox a mail client shows
is that client's own local queue of what it has not managed to send yet. MailFathom's outbox is the durable
outgoing record, which is the truth about what will be sent; this member is the optional mirror of it into a folder
an operator chose, for the message that will sit there long enough to be worth seeing in a mail client.
Being a struct, default is reachable and names no filing. IsSpecified reports that.
Properties
- All
Gets every place an outgoing message is filed.
- Draft
Gets the filing of a message the owner is still composing, into the drafts folder.
- Flags
Gets the flags the appended copy carries.
- Held
Gets the filing of a message that is waiting to go out, into the folder an operator mapped as the outbox.
- IsSpecified
Gets whether this value names a filing rather than the unusable struct default.
- IsWithdrawnWhenTheMessageLeaves
Gets whether the copy is withdrawn once the message leaves the stage this filing describes.
- Name
Gets the name a durable row, a log line, and a counter dimension all use for the filing.
- Role
Gets the role the destination folder plays, which is what identifies it on any account in any language.
- Sent
Gets the filing of a message a submission server has already accepted, into the sent folder.
Methods
- ToString()
Returns the fully qualified type name of this instance.
- TryParseName(string?, out OutgoingMailFiling)
Parses a recorded name back into the filing it names.