Table of Contents

Namespace MailForge.Models

Classes

EmailAddress

Represents an email address with an optional display name.

EmailAttachment

An attachment (or inline image) attached to an email message.

EmailAuditRecord

A record of a single send attempt produced by the framework.

EmailDeliveryContext

Immutable state shared by every IEmailMiddleware in the pipeline for a single send operation. The message can be mutated between stages.

EmailDeliveryResult

The outcome of sending an email through the framework pipeline.

EmailException

The exception thrown by providers and by the framework when an email cannot be sent. IsTransient distinguishes retryable failures (timeouts, rate limits, temporary service errors) from permanent ones (bad credentials, invalid addresses).

EmailMessage

An immutable, provider-agnostic email message. This is the payload exchanged between the framework, the middleware pipeline, and every IEmailProvider.

EmailRecipient

A single message recipient together with its role (To, Cc, or Bcc).

Email<TModel>

Base class for strongly typed transactional emails. Subclasses configure the message (sender, recipients, subject, and either a named template or an inline body) in their constructor and carry a model used to render it.

ProviderCapabilities

Describes the capabilities a provider offers.

ProviderDeliveryResult

The outcome of a single delivery attempt reported by an IEmailProvider. Providers report transient service failures by throwing EmailException with IsTransient set to true.

ValidationProblem

A single validation problem found on an EmailMessage.

Enums

EmailDeliveryStatus

The possible outcomes of an email send.

EmailPriority

Indicates the importance level of an email message.

EmailRecipientType

Specifies the role of a recipient on an email message.