NAME¶
Mail::SPF::Util - Mail::SPF utility class
SYNOPSIS¶
use Mail::SPF::Util;
$hostname = Mail::SPF::Util->hostname;
$ipv6_address_v4mapped =
Mail::SPF::Util->ipv4_address_to_ipv6($ipv4_address);
$ipv4_address =
Mail::SPF::Util->ipv6_address_to_ipv4($ipv6_address_v4mapped);
$is_v4mapped =
Mail::SPF::Util->ipv6_address_is_ipv4_mapped($ipv6_address);
$ip_address_string = Mail::SPF::Util->ip_address_to_string($ip_address);
$reverse_name = Mail::SPF::Util->ip_address_reverse($ip_address);
$validated_domain = Mail::SPF::Util->valid_domain_for_ip_address(
$spf_server, $request,
$ip_address, $domain,
$find_best_match, # defaults to false
$accept_any_domain # defaults to false
);
$sanitized_string = Mail::SPF::Util->sanitize_string($string);
DESCRIPTION¶
Mail::SPF::Util is Mail::SPF's utility class.
Class methods¶
The following class methods are provided:
- hostname: returns string
- Returns the fully qualified domain name (FQDN) of the local
host.
- ipv4_address_to_ipv6($ipv4_address): returns
NetAddr::IP; throws Mail::SPF::EInvalidOptionValue
- Converts the specified NetAddr::IP IPv4 address into
an IPv4-mapped IPv6 address. Throws a
Mail::SPF::EInvalidOptionValue exception if the specified IP
address is not an IPv4 address.
- ipv6_address_to_ipv4($ipv6_address): returns
NetAddr::IP; throws Mail::SPF::EInvalidOptionValue
- Converts the specified NetAddr::IP IPv4-mapped IPv6
address into a proper IPv4 address. Throws a
Mail::SPF::EInvalidOptionValue exception if the specified IP
address is not an IPv4-mapped IPv6 address.
- ipv6_address_is_ipv4_mapped($ipv6_address): returns
boolean
- Returns true if the specified NetAddr::IP
IPv6 address is an IPv4-mapped address, false otherwise.
- ip_address_to_string($ip_address): returns
string; throws Mail::SPF::EInvalidOptionValue
- Returns the given NetAddr::IP IPv4 or IPv6 address
compactly formatted as a string. For IPv4 addresses, this is
equivalent to calling NetAddr::IP's "addr" method. For IPv6
addresses, this is equivalent to calling NetAddr::IP's "short"
method. Throws a Mail::SPF::EInvalidOptionValue exception if the
specified object is not a NetAddr::IP IPv4 or IPv6 address
object.
- ip_address_reverse($ip_address): returns
string; throws Mail::SPF::EInvalidOptionValue
- Returns the "in-addr.arpa."/"ip6.arpa."
reverse notation of the given NetAddr::IP IPv4 or IPv6 address.
Throws a Mail::SPF::EInvalidOptionValue exception if the specified
object is not a NetAddr::IP IPv4 or IPv6 address object.
- valid_domain_for_ip_address($server,
$request, $ip_address,
$domain, $find_best_match = false,
$accept_any_domain = false): returns string or
undef
- Finds a valid domain name for the given NetAddr::IP
IP address that matches the given domain or a sub-domain thereof. A domain
name is valid for the given IP address if the IP address reverse-maps to
that domain name in DNS, and the domain name in turn forward-maps to the
IP address. Uses the given Mail::SPF::Server and
Mail::SPF::Request objects to perform DNS look-ups. Returns the
validated domain name.
If $find_best_match is true, the one domain name is selected that
best matches the given domain name, preferring direct matches over
sub-domain matches. Defaults to false.
If $accept_any_domain is true, any domain names are considered
acceptable, even if they differ completely from the given domain name
(which is then effectively unused unless a best match is requested).
Defaults to false.
- sanitize_string($string): returns string or
undef
- Replaces all non-printable or non-ascii characters in a
string with their hex-escaped representation (e.g.,
"\x00").
SEE ALSO¶
Mail::SPF
For availability, support, and license information, see the README file included
with Mail::SPF.
AUTHORS¶
Julian Mehnle <julian@mehnle.net>, Shevek <cpan@anarres.org>