Provided by: libmail-dmarc-perl_1.20230215-1ubuntu1_all bug

NAME

       Mail::DMARC::Result - an aggregate report result object

VERSION

       version 1.20230215

OVERVIEW

       A Result object is the product of instantiating a DMARC::PurePerl object, populating the
       variables, and running $dmarc->validate. The results object looks like this:

           result       => 'pass',   # pass, fail
           disposition  => 'none',   # reject, quarantine, none
           reason       => [         # there can be many reasons...
                   {
                       type     => '',   # forwarded, sampled_out, trusted_forwarder,
                       comment  => '',   #   mailing_list, local_policy, other
                   },
               ],
           dkim         => 'pass',   # pass, fail
           dkim_align   => 'strict', # strict, relaxed
           spf          => 'pass',   # pass, fail
           spf_align    => 'strict', # strict, relaxed
           published    => L<Mail::DMARC::Policy>,

       Reasons are optional and may not be present.

       The dkim_align and spf_align fields will only be present if the corresponding test value
       equals pass. They are additional info not specified by the DMARC spec.

METHODS

   published
       Published is a Mail::DMARC::Policy tagged with a domain. The domain attribute is the DNS
       domain name where the DMARC record was found. This may not be the same as the header_from
       domain (ex: bounces.amazon.com -vs- amazon.com).

   result
       Whether the message passed the DMARC test. Possible values are: pass, fail.

       In order to pass, at least one authentication alignment must pass. The 2013 draft defines
       two authentication methods: DKIM and SPF. The list is expected to grow.

   disposition
       When the DMARC result is not pass, disposition is the results of applying DMARC policy to
       a message. Generally this is the same as the header_from domains published DMARC policy.
       When it is not, the reason SHOULD be specified.

   dkim
       Whether the message passed or failed DKIM alignment. In order to pass the DMARC DKIM
       alignment test, a DKIM signature that matches the RFC5322.From domain must be present. An
       unsigned messsage, a message with an invalid signature, or signatures that don't match the
       RFC5322.From field are all considered failures.

   dkim_align
       If the message passed the DKIM alignment test, this indicates whether the alignment was
       strict or relaxed.

   spf
       Whether the message passed or failed SPF alignment. To pass SPF alignment, the
       RFC5321.MailFrom domain must match the RFC5322.From field.

   spf_align
       If the message passed the SPF alignment test, this indicates whether the alignment was
       strict or relaxed.

   reason
       If the applied policy differs from the sites published policy, the result policy should
       contain a reason and optionally a comment.

       A DMARC result reason has two attributes, type, and comment.

           reason => {
               type =>  '',
               comment => '',
           },

       type

       The following reason types are defined and valid:

           forwarded
           sampled_out
           trusted_forwarder
           mailing_list
           local_policy
           other

       comment

       Comment is a free form text field.

AUTHORS

       •   Matt Simerson <msimerson@cpan.org>

       •   Davide Migliavacca <shari@cpan.org>

       •   Marc Bradshaw <marc@marcbradshaw.net>

COPYRIGHT AND LICENSE

       This software is copyright (c) 2023 by Matt Simerson.

       This is free software; you can redistribute it and/or modify it under the same terms as
       the Perl 5 programming language system itself.