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
sessionsIMailDeliverySessionFactoryOpens the one session able to reach a submission server.
outgoingEmailsIOutgoingEmailStoreHolds the durable record this attempt advances.
contentStoreIEmailContentStoreHolds the stored MIME the attempt transmits.
senderIdentitiesIOutgoingSenderIdentityReaderResolves the address the account's mail is sent from.
commitPolicyOptimisticConcurrencyRetryPolicyCommits each movement of the record.
settingsMailOutboxSettingsBounds the attempt and says when the next one may happen.
timeProviderTimeProviderMeasures the attempt's budget and stamps what it records.
Exceptions
- ArgumentNullException
Thrown when a collaborator is null.