Table of Contents

Class MailRuleEmailFacts

Namespace
MailFathom.Application.Rules.Facts
Assembly
MailFathom.Application.dll

Carries everything a condition can read about one email without a further read of stored content.

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

Remarks

Every member here is metadata a caller already holds by the time a rule set is evaluated for an email, which is what keeps the cost of a condition a property of the fact surface rather than of what somebody typed. The two derived facts — the sender's domain and the recipients' domains — are computed from the addresses beside them rather than carried separately, so nothing can supply an address and a domain that disagree.

The one fact this does not carry is the extracted body text, which reaches a condition through IMailRuleBodyTextReader instead, and only when a condition names it.

Properties

Account

Gets the configured alias of the account the email belongs to.

AttachmentCount

Gets how many attachments the email carries.

AttachmentTotalBytes

Gets the size of every attachment added together.

CarriesUnverifiedSignature

Gets whether the email carries a signature part that nothing has verified.

Folder

Gets the configured alias of the folder the email occurrence is in.

HasExtractedContent

Gets whether text has been extracted from the email's body.

IsAnswered

Gets whether the server reports the email as answered.

IsDraft

Gets whether the server reports the email as a draft.

IsEncrypted

Gets whether the email's body is encrypted.

IsFlagged

Gets whether the server reports the email as flagged.

IsSeen

Gets whether the server reports the email as read.

ReceivedAt

Gets when the last receiving hop recorded the email, or null when no hop recorded one.

RecipientAddresses

Gets the addresses the email was sent to and copied to, in their comparison form.

RecipientDomains

Gets the distinct domains of every recipient address, in the order the addresses appear.

SenderAddress

Gets the sender's address in its comparison form, or null when the email names no sender.

SenderDomain

Gets the part of the sender's address after the at sign, or null when there is no sender.

SentAt

Gets when the sender's client stamped the email, or null when it carries no such header.

SizeInBytes

Gets the size of the whole email as the server reported it.

Subject

Gets the subject line, or null when the email carries none.