Table of Contents

Class OutboxOperations

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

What an operator does about an outbox: read what stands in it, and decide about one send that is stuck.

public sealed class OutboxOperations
Inheritance
OutboxOperations
Inherited Members

Remarks

The stores keep the records and are written by the delivery pass; this is what an operator reaches, and it exists so that the grant is asked where the decision is made rather than only at the routes serving it today. Reading reports the deployment's own state, while cancelling a send and offering one again both change what leaves the deployment, so the two are published under different grants and a credential provisioned to watch an outbox cannot act on it.

Neither decision sends anything. A re-queue writes the record back to the stage the next pass claims from, and a cancellation writes a terminal stage nothing claims, which is why both answer immediately whatever the message was for and whichever worker eventually picks it up.

The two readings differ in what they may say about people, and deliberately so. A page names no recipient, because a listing of an outbox is a listing of who this owner writes to; one send read by its own identifier names its recipients and what each of them was told, because that is the question that was asked and it cannot be answered without them. Neither reads the message: no subject, no body, and no raw MIME reaches this surface at all.

Constructors

OutboxOperations(IOutgoingEmailStore, IOutboxOperationStore, AccessAuthorization)

Initializes the operations over a deployment's outbox.

Methods

CancelAsync(OutgoingEmailId, CancellationToken)

Withdraws one send that has not begun transmitting.

FindAsync(OutgoingEmailId, CancellationToken)

Reads one send by the identifier every decision names it by, with what each recipient was told.

ReadPageAsync(OutboxQuery, CancellationToken)

Reads one page of the sends this deployment has recorded.

ReadSummaryAsync(MailAccountId?, CancellationToken)

Reports how much stands at each stage of an outbox.

RequeueAsync(OutgoingEmailId, bool, CancellationToken)

Offers one send again, which is the decision the system deliberately will not take on its own.