Table of Contents

Class StoredEmailResponseAuthoring

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

Turns a stored email and what somebody wrote into the answer to it, ready to be composed.

public sealed class StoredEmailResponseAuthoring
Inheritance
StoredEmailResponseAuthoring
Inherited Members

Remarks

A reply and a forward are the two sends that begin from mail this deployment already holds, and everything that makes them correct is read out of that stored copy: the identifiers the answer threads by, the people it goes to, the subject it carries, the text it quotes, and the files a forward brings with it. Each of those is a place a plausible shortcut produces mail that looks right and is not — a guessed threading header puts the reply in a conversation of its own in every recipient's mailbox, and a forward whose attachments were rebuilt from what was recorded about them delivers files nobody sent.

It reaches no mail server, for the reason every read in this system does not: the use case holds no mailbox port, so answering a message can neither fetch it again nor set the remote \Seen flag on it. The files a forward carries come from IEmailContentStore, which is the whole reason a forward is worth beginning from a local copy at all.

The stored email is a permission boundary as well as a source. A folder an operator withheld from tools is outside every mailbox read, and a reply must not become the path by which its content leaves — so an email nothing may read is an email nothing may answer, and the refusal is the same not-found answer a read of it gives.

Whoever the author copies in may be named out of the contact book rather than by an address, and is resolved here through the one resolution every author shares. That keeps a person the answer is addressed to an ordinary address by the time anything is composed: an answer to a message cannot reach a mailbox a message answering nothing could not.

Nothing is written down here and nothing is sent. What comes back is an authored message, which the composition turns into MIME and the outbox makes durable, exactly as it does for a message answering nothing.

Constructors

StoredEmailResponseAuthoring(IStoredEmailSummaryReader, IEmailContentStore, IEmailContentRenderer, IEmailAttachmentContentReader, IEmailContentRepairRequestStore, MailboxScopeResolver, IOutgoingSenderIdentityReader, NamedRecipientResolver, OutgoingEmailBounds, AccessAuthorization)

Initializes the use case.

Methods

AuthorAsync(AuthoredResponseRequest, CancellationToken)

Authors one answer to a stored email, or refuses it.