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.
Three of them are stored as domain enumerations rather than as the words a condition compares against, because the authoring names are part of the rule contract and belong beside the fact surface that publishes them rather than in whatever queried the row.
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.
- AuthorAuthentication
Gets what the receiving server established about the author the email displays.
- 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.
- Keywords
Gets the keywords the server reports the email as carrying.
- MachineAuthorship
Gets how much the email's own text reads as machine written.
- 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.
- SenderTrust
Gets whether this deployment recognizes the author the email authenticated as.
- SizeInBytes
Gets the size of the whole email as the server reported it.