Table of Contents

Class MailDraftRequest

Namespace
MailFathom.Application.Mail.Delivery.Drafts
Assembly
MailFathom.Application.dll

States one draft somebody asked this deployment to hold, in the terms they wrote it in.

public sealed record MailDraftRequest : IEquatable<MailDraftRequest>
Inheritance
MailDraftRequest
Implements
Inherited Members

Remarks

It is MailSubmissionRequest with two differences and no others, which is what keeps a draft a message rather than a second kind of thing. The recipients may be nobody, because writing the message before deciding who reads it is what a draft is for; and it may name the draft it replaces, because editing is the whole of what a draft has that a send does not.

There is no sending address here, for the reason there is none on a submission: the account is named and the address it writes as comes from that account's own configuration.

The author is provenance rather than an idempotency identity. Asking twice for a draft leaves two drafts, which costs an owner a deletion rather than a recipient a second message, so nothing here is enforced by a unique index.

Properties

Account

Gets the account the draft belongs to, named as a caller names one.

Author

Gets the authored act writing the draft down.

HtmlBody

Gets the HTML alternative the author wrote, or null when they wrote none.

PlainTextBody

Gets the plain-text body the author wrote, which every stored draft carries.

Recipients

Gets the people the draft is addressed to, which may be nobody.

Revises

Gets the draft this request replaces, or null when it writes a new one.

Subject

Gets the subject line the author wrote.