Table of Contents

Constructor OutgoingMailFilingPass

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

OutgoingMailFilingPass(IOutgoingEmailStore, OutgoingMailFiler, IMailFolderMappingReader, IOutgoingMailFilingPolicyReader, TimeProvider, MailOutboxSettings)

Initializes the pass from the outbox it reads and the filer it acts through.

public OutgoingMailFilingPass(IOutgoingEmailStore outgoingEmails, OutgoingMailFiler filer, IMailFolderMappingReader folderMappings, IOutgoingMailFilingPolicyReader filingPolicies, TimeProvider timeProvider, MailOutboxSettings settings)

Parameters

outgoingEmails IOutgoingEmailStore

Holds the records whose copies this pass keeps in step.

filer OutgoingMailFiler

Appends and withdraws one copy.

folderMappings IMailFolderMappingReader

Answers whether this account maps a folder to the outbox role at all.

filingPolicies IOutgoingMailFilingPolicyReader

Answers whether this account files a copy of what it sends.

timeProvider TimeProvider

Decides which sends are waiting rather than merely queued.

settings MailOutboxSettings

Bounds how many waiting sends one pass mirrors.

Remarks

The mirror is bounded by the same number as the deliveries, because both are one conversation with a server per send and what one pass leaves the next one takes. A second bound would be a second number to keep in step for no difference an operator could observe.

Exceptions

ArgumentNullException

Thrown when a collaborator is null.