Table of Contents

Class OutboxEntry

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

One recorded send as a listing names it: where it stands, how it got there, and what it is waiting for.

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

Remarks

It is deliberately not OutgoingEmailRecord. That record carries the addresses the message is offered to, and a listing is exactly the place those must not appear: a page of an outbox is a page of who this owner writes to and when, which is somebody's correspondence rather than the deployment's own state. What is left — an identifier, a stage, an account alias, counts, instants, and a coded failure — is what a decision is taken from, and the single-record reading is where a caller that asked about one send by identity is told who it is for.

The recipient count is left out for the same reason it is left off the submission span: how many people one message is addressed to is a fact about that correspondence, and nothing an operator decides here depends on it.

Properties

AccountId

Gets the account the message is sent from, as the deployment's configuration names it.

AttemptCount

Gets how many attempts have been handed out for it, counting from one.

AvailableAt

Gets the instant from which it may be claimed again, which is in the future while a backoff is running.

HasUnknownOutcome

Gets whether nobody can say what this send's recipients received.

LastFailure

Gets the code identifying what the last attempt ended in, or null where none is recorded.

LastReplyCode

Gets the reply code the server answered with, or null where it answered none.

MimeByteLength

Gets how many bytes of MIME are stored for the message.

Origin

Gets what asked for the send.

OutgoingEmailId

Gets the identifier every decision names the send by.

RecordedAt

Gets when the send was written down.

Stage

Gets how far along its submission sequence the send has durably reached.

StageChangedAt

Gets when it last moved between stages.