The outcome of Sovite.DMARC.check/3.
result-:passif SPF or DKIM passed with an aligned domain,:failif neither did,:nonewithout a policy,:temperroron a DNS error, and:permerrorfor a From domain that is not a domain name.disposition- what the policy asks for this message, after sampling. Always:noneunlessresultis:fail.applied- which policy tag gave the disposition on:fail::pfor the domain that published the record,:spfor a subdomain,:npfor a subdomain that does not exist.sampled- whether the failing message was selected bypct=(and the record is not in testing mode), so the disposition is the one published. Whenfalse, it is one step milder.dkim_domain- thed=of the first passing, aligned DKIM signature.reason- a human-readable note, for logs and reports.
Summary
Types
@type t() :: %Sovite.DMARC.Result{ applied: :p | :sp | :np | nil, disposition: Sovite.DMARC.Record.policy(), dkim_aligned: boolean(), dkim_domain: String.t() | nil, from_domain: String.t(), policy: Sovite.DMARC.Policy.t() | nil, reason: String.t() | nil, result: :pass | :fail | :none | :temperror | :permerror, sampled: boolean(), spf_aligned: boolean() }