Table of Contents

Constructor MailOutboxDelivery

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

MailOutboxDelivery(IMailDeliverySessionFactory, IOutgoingEmailStore, IEmailContentStore, IOutgoingSenderIdentityReader, OptimisticConcurrencyRetryPolicy, MailOutboxSettings, TimeProvider)

Initializes the attempt from the session it submits through and the record it settles.

public MailOutboxDelivery(IMailDeliverySessionFactory sessions, IOutgoingEmailStore outgoingEmails, IEmailContentStore contentStore, IOutgoingSenderIdentityReader senderIdentities, OptimisticConcurrencyRetryPolicy commitPolicy, MailOutboxSettings settings, TimeProvider timeProvider)

Parameters

sessions IMailDeliverySessionFactory

Opens the one session able to reach a submission server.

outgoingEmails IOutgoingEmailStore

Holds the durable record this attempt advances.

contentStore IEmailContentStore

Holds the stored MIME the attempt transmits.

senderIdentities IOutgoingSenderIdentityReader

Resolves the address the account's mail is sent from.

commitPolicy OptimisticConcurrencyRetryPolicy

Commits each movement of the record.

settings MailOutboxSettings

Bounds the attempt and says when the next one may happen.

timeProvider TimeProvider

Measures the attempt's budget and stamps what it records.

Exceptions

ArgumentNullException

Thrown when a collaborator is null.