NAME

Mail::DMARC::Base - DMARC utility functions

VERSION

version 1.20210427

METHODS

is_public_suffix

Determines if part of a domain is a Top Level Domain (TLD). Examples of TLDs are com, net, org, co.ok, am, and us.

Determination is made by consulting a Public Suffix List. The included PSL is from mozilla.org. See http://publicsuffix.org/list/ for more information, and a link to download the latest PSL.

update_psl_file

Download a new Public Suffix List file from mozilla and update the installed file with the new copy.

has_dns_rr

Determine if a DNS Resource Record of the specified type exists at the DNS name provided.

get_resolver

Returns a (cached) Net::DNS::Resolver object

set_resolver

Set the Net::DNS::Resolver object to be used for lookups

is_valid_ip

Determines if the supplied IP address is a valid IPv4 or IPv6 address.

is_valid_domain

Determine if a string is a legal RFC 1034 or 1101 host name.

Half the reason to test for domain validity is to shave seconds off our processing time by not having to process DNS queries for illegal host names. The other half is to raise exceptions if methods are being called incorrectly.

SEE ALSO

Mozilla Public Suffix List: http://publicsuffix.org/list/

AUTHORS

  • Matt Simerson <msimerson@cpan.org>

  • Davide Migliavacca <shari@cpan.org>

  • Marc Bradshaw <marc@marcbradshaw.net>

COPYRIGHT AND LICENSE

This software is copyright (c) 2021 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.