Table of Contents

Class MailEnvelopeLedger

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

Collects what a submission server answered about each address, as it answers.

public sealed class MailEnvelopeLedger
Inheritance
MailEnvelopeLedger
Inherited Members

Remarks

It is handed to the submission rather than returned by it, because its value is greatest exactly where there is no return value: a server that stopped answering leaves the caller holding a durable record and no idea what the recipients received. What the ledger says then is the one thing that settles it — a submission server is offered the message body only once it has accepted at least one address, so an envelope that accepted nobody proves that nothing was transmitted and the send can be attempted again without anybody receiving it twice.

It is filled by the adapter as the replies arrive and read by the caller afterwards. One submission fills one ledger, and it is not safe for concurrent use — which matches the session it is used with, since one session serves one caller at a time.

Properties

AcceptedRecipients

Gets the addresses the server took, which are the ones an acknowledged transmission settles.

MayHaveReachedRecipients

Gets whether any byte of the message body may already have reached the server.

Replies

Gets what the server answered about each address it was offered, in the order it answered.

Methods

Record(MailRecipientReply)

Writes down one answer the server gave about one address.