NAME
Mail::SPF::Mech::A - SPF record a
mechanism class
VERSION
version 3.20240827
DESCRIPTION
An object of class Mail::SPF::Mech::A represents an SPF record mechanism of type a
.
Constructors
The following constructors are provided:
- new(%options): returns Mail::SPF::Mech::A
-
Creates a new SPF record
a
mechanism object.%options is a list of key/value pairs representing any of the following options:
- qualifier
- domain_spec
- ipv4_prefix_length
- ipv6_prefix_length
- new_from_string($text, %options): returns Mail::SPF::Mech::A; throws Mail::SPF::ENothingToParse, Mail::SPF::EInvalidMech
-
Creates a new SPF record
a
mechanism object by parsing the string and any options given.
Class methods
The following class methods are provided:
- default_qualifier
- default_ipv4_prefix_length
- default_ipv6_prefix_length
- qualifier_pattern
- name: returns string
-
Returns 'a'.
- name_pattern: returns Regexp
-
Returns a regular expression that matches a mechanism name of 'a'.
Instance methods
The following instance methods are provided:
- text
- qualifier
- params
- stringify
- domain
- match_in_domain
- domain_spec: returns Mail::SPF::MacroString
-
Returns the
domain-spec
parameter of the mechanism. - ipv4_prefix_length: returns integer
-
Returns the IPv4 network prefix length of the mechanism.
- ipv6_prefix_length: returns integer
-
Returns the IPv6 network prefix length of the mechanism.
- match($server, $request): returns boolean
-
Checks whether the mechanism's target domain name (that is, any of its DNS
A
orAAAA
host addresses) matches the given request's IP address (see "ip_address" in Mail::SPF::Request), and returns true if it does, or false otherwise. The mechanism's IP network prefix lengths are respected when matching address records against the request's IP address. See RFC 4408, 5, for the exact algorithm used.
SEE ALSO
Mail::SPF, Mail::SPF::Record, Mail::SPF::Term, Mail::SPF::Mech
http://tools.ietf.org/html/rfc4408
For availability, support, and license information, see the README file included with Mail::SPF.
AUTHORS
Julian Mehnle <julian@mehnle.net>, Shevek <cpan@anarres.org>