Table of Contents

Interface IMailDeliverySession

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

Holds one account authenticated against its submission server for as long as a delivery needs it.

public interface IMailDeliverySession : IAsyncDisposable
Inherited Members

Remarks

This is the only type in MailFathom able to reach a submission server, and it is deliberately a different type from every mailbox session rather than a mode of one. Synchronization, reconciliation, content retrieval, and every MCP tool reach a server through a session that exposes no way to obtain this one, so a refactor cannot give a read path the ability to send: a read path never holds something that has it.

What the session publishes is the connection, what the server said about it, and the one act that reaches the outside world. It neither composes nor stores a message: a submission cannot be undone, so it is issued from a durable record that already says what is being transmitted and how far a previous attempt got.

One session is used by one caller at a time and is not safe for concurrent use. It owns a connection for as long as it is open, so it is short-lived by design and the caller disposes it when its work ends.

Properties

Capabilities

Gets what the server declared it will accept, read from the greeting this session was opened with.

Methods

TransmitAsync(MailTransmissionRequest, MailEnvelopeLedger, CancellationToken)

Offers the envelope and transmits the message, reporting what the server said about each.