NAME
Mail::DMARC::PurePerl - a perl implementation of DMARC
VERSION
version 0.20130506
METHODS
init
Resets the Mail::DMARC object, preparing it for a fresh request.
validate
discover_policy
is_aligned
is_dkim_aligned
is_spf_aligned
is_subdomain
has_valid_reporting_uri
get_organizational_domain
exists_in_dns
Determine if a domain exists, reliably. The DMARC draft says:
9.6 If the RFC5322.From domain does not exist in the DNS, Mail Receivers
SHOULD direct the receiving SMTP server to reject the message {R9}.
I went back to the DKIM ADSP (which led me to the ietf-dkim email list where some 'experts' failed to agree on The Right Way to test domain validity. They pointed out: MX records aren't mandatory, and A or AAAA aren't reliable.
Some experimentation proved both arguments in real world usage. I test for existence by searching for a MX, NS, A, or AAAA record. Since this search may be repeated for the Organizational Name, if the NS query fails, there's no delegation from the TLD. That has proven very reliable.
fetch_dmarc_record
get_from_dom
get_dom_from_header
external_report
verify_external_reporting
AUTHORS
Matt Simerson <msimerson@cpan.org>
Davide Migliavacca <shari@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2013 by The Network People, Inc..
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.