Table of Contents

Interface IAuthoredEmailComposer

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

Turns what an author wrote into the message a submission server will be offered.

public interface IAuthoredEmailComposer

Remarks

This is the one place a MIME message is built, and the boundary the mail library stops at: nothing above it names a MIME type, and nothing below it sees an authored request. A second path that assembled headers of its own would be a second set of answers to the questions this one settles — who the message is from, what identity it carries, what a newline in a subject does — and the first of those to disagree is a message sent as somebody else.

Composing reaches no network and no database. What it needs from the submission server is what that server already said when a session was opened, which arrives as a parameter for that reason: the answer belongs to one connection to one endpoint, and a composer that cached it would bound a message against a server it is no longer talking to.

Methods

Compose(MailAccountId, OutgoingEmailRequester, AuthoredEmail, MailDeliveryCapabilities)

Composes one authored message, or refuses it naming the field that stopped it.

ComposeDraft(MailAccountId, AuthoredEmail, MailDeliveryCapabilities)

Composes one authored message as a draft, or refuses it naming the field that stopped it.

RecomposeAsOccurrence(MailAccountId, OutgoingEmailRequester, IReadOnlyList<OutgoingRecipient>, ReadOnlyMemory<byte>, MailDeliveryCapabilities)

Composes one occasion's message from the draft a recurring send was declared with, or refuses it.