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.