Table of Contents

Class MailRuleExecutedAction

Namespace
MailFathom.Application.Rules.History
Assembly
MailFathom.Application.dll

One change a matching rule declared, and what the pass did about it.

public sealed record MailRuleExecutedAction : IEquatable<MailRuleExecutedAction>
Inheritance
MailRuleExecutedAction
Implements
Inherited Members

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.

Constructors

MailRuleExecutedAction(int, MailboxMutation, MailRuleExecutedActionOutcome, string?, MailRuleActionFailureReason?, MailboxMutationRecordId?)

One change a matching rule declared, and what the pass did about it.

Properties

Destination

The folder the action named, and null for an action naming none.

FailureReason

Why nothing was recorded, which is present exactly when the outcome is Refused.

Mutation

The change asked for, which is the same word a log line, a counter, and the mutation trail use.

MutationRecordId

The record carrying the request, which is present exactly when the outcome is Requested.

Outcome

What became of it.

Position

Where the action sits in the order the rule declares its changes, counted from zero.