Constructor MailRuleExecutedAction
- Namespace
- MailFathom.Application.Rules.History
- Assembly
- MailFathom.Application.dll
MailRuleExecutedAction(int, MailboxMutation, MailRuleExecutedActionOutcome, string?, MailRuleActionFailureReason?, MailboxMutationRecordId?)
One change a matching rule declared, and what the pass did about it.
public MailRuleExecutedAction(int Position, MailboxMutation Mutation, MailRuleExecutedActionOutcome Outcome, string? Destination = null, MailRuleActionFailureReason? FailureReason = null, MailboxMutationRecordId? MutationRecordId = null)
Parameters
PositionintWhere the action sits in the order the rule declares its changes, counted from zero.
MutationMailboxMutationThe change asked for, which is the same word a log line, a counter, and the mutation trail use.
OutcomeMailRuleExecutedActionOutcomeWhat became of it.
DestinationstringThe folder the action named, and null for an action naming none.
FailureReasonMailRuleActionFailureReason?Why nothing was recorded, which is present exactly when the outcome is Refused.
MutationRecordIdMailboxMutationRecordId?The record carrying the request, which is present exactly when the outcome is Requested.
Remarks
Every value here is MailFathom's own name for something: a mutation name, a configured folder alias, a bounded reason, and two identifiers. Nothing is derived from the message, which is what lets an operator be told what a rule did to a mailbox without the record becoming a second copy of it.
The destination is text rather than an alias because the two outcomes can answer it to different depths. An action
the pass requested names the alias its destination resolved to, which is the folder mail was actually filed into. An
action that never got that far names what the rule wrote — an alias, or role:Junk — because a role that
reached no folder has no alias to name and the rule's own words are what an operator has to correct.
The record identifier is a pointer rather than a copy. What happened on the server — attempted, converged, given up on — is the mutation's own trail, with its own retention, and restating any of it here would leave two answers to one question that could disagree.