Constructor RecurringMailSubmission
- Namespace
- MailFathom.Application.Mail.Delivery.Scheduling
- Assembly
- MailFathom.Application.dll
RecurringMailSubmission(IMailAccountCatalog, NamedRecipientResolver, IAuthoredEmailComposer, IRecurringSendStore, IEmailContentStore, OptimisticConcurrencyRetryPolicy, AccessAuthorization)
Initializes the use case from the accounts it serves and the two writes it commits together.
public RecurringMailSubmission(IMailAccountCatalog accountCatalog, NamedRecipientResolver recipientResolver, IAuthoredEmailComposer composer, IRecurringSendStore recurringSends, IEmailContentStore contentStore, OptimisticConcurrencyRetryPolicy retryPolicy, AccessAuthorization authorization)
Parameters
accountCatalogIMailAccountCatalogSays which accounts this deployment serves, and therefore which one a caller may name.
recipientResolverNamedRecipientResolverTurns the people the author named into the addresses every occurrence is offered to.
composerIAuthoredEmailComposerBuilds the draft, and decides every header this system owns rather than the author.
recurringSendsIRecurringSendStoreHolds the declaration and its idempotency identity.
contentStoreIEmailContentStoreHolds the draft the declaration points at.
retryPolicyOptimisticConcurrencyRetryPolicyCommits both writes together and resolves a lost race for the same identity.
authorizationAccessAuthorizationAnswers whether the caller that reached this holds the grant that lets it send.
Exceptions
- ArgumentNullException
Thrown when a collaborator is null.