Class RecurringSend
- Namespace
- MailFathom.Domain.Delivery.Scheduling
- Assembly
- MailFathom.Domain.dll
States one message an owner wrote once and asked to be sent again on every occasion a schedule names.
public sealed record RecurringSend : IEquatable<RecurringSend>
- Inheritance
-
RecurringSend
- Implements
- Inherited Members
Remarks
It is a declaration rather than a queue: nothing here is due, and nothing here is transmitted. Each occasion the schedule reaches produces an outgoing record of its own, with its own idempotency identity, its own attempts, and its own ending — so one Monday's provider outage is not the next Monday's, and a message refused for good stops one occurrence rather than the declaration behind it.
The schedule is kept as the text an operator wrote and is parsed above this type, because the syntax belongs to the dispatch mechanism this declaration rides rather than to the mail domain. What is refused where the declaration is made is a schedule that does not parse, so nothing durable states an occasion nothing can resolve.
The message itself is not here. Every occurrence has to be a message of its own — a repeated Message-ID would
thread a year of Mondays as one message in every recipient's client — so what is kept is the authored draft, in the
content store beside every other piece of RFC 822 this system holds, and each occasion composes from it. The
addresses are here because an envelope is built from them and because they are what an operator reads back when they
ask who this declaration writes to.
It is derived personal data of the same kind an outgoing record is, and inherits the same retention, deletion, and export obligations: it says who this mailbox's owner writes to, and how often.
Fields
- MaximumScheduleLength
The greatest length a declared schedule may have, which bounds the column it is stored in.
Properties
- AccountId
Gets the account each occurrence is submitted through and sent as.
- CancelledAt
Gets when the declaration was stopped, or null while it still produces occurrences.
- DeclaredAt
Gets when the declaration was written down.
- DraftByteLength
Gets how many bytes of MIME were stored as the draft every occurrence is composed from.
- Id
Gets what every occurrence and every later act refers to this declaration by.
- IsActive
Gets whether the declaration still produces an occurrence when its schedule comes round.
- LastOccurrenceAt
Gets the occasion this declaration last produced a message for, or null while it has produced none.
- LastOccurrenceEmailId
Gets the message the last occasion produced, or null while there has been none.
- Recipients
Gets the people every occurrence is offered to, each named once.
- Requester
Gets the authored act that asked for the declaration, which every occurrence's identity is composed from.
- Schedule
Gets the schedule as it was declared, in the syntax the dispatch mechanism parses.