Mail::SPF::Util - Mail::SPF utility class

NAME  SYNOPSIS  DESCRIPTION  Class methods  SEE ALSO  AUTHORS  POD ERRORS 

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 <[email protected]>, Shevek <[email protected]>

POD ERRORS

Hey! The above document had some coding errors, which are explained below:
Around line 157:

L<> starts or ends with whitespace

L<> starts or ends with whitespace


Updated 2024-01-29 - jenkler.se | uex.se