NAME
Mail::SPF::Mech::MX - SPF record mx
mechanism class
DESCRIPTION
An object of class Mail::SPF::Mech::MX represents an SPF record mechanism of type mx
.
Constructors
The following constructors are provided:
- new(%options): returns Mail::SPF::Mech::MX
-
Creates a new SPF record
mx
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): returns Mail::SPF::Mech::MX; throws Mail::SPF::ENothingToParse, Mail::SPF::EInvalidMech
-
Creates a new SPF record
mx
mechanism object by parsing the given string.
Class methods
The following class methods are provided:
- default_qualifier
- default_ipv4_prefix_length
- default_ipv6_prefix_length
- qualifier_pattern
- name: returns string
-
Returns 'mx'.
- name_pattern: returns Regexp
-
Returns a regular expression that matches a mechanism name of 'mx'.
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 any MX hosts of the mechanism's target domain name (that is, any of the host addresses of its DNS
MX
records) 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 and 5.4, for the exact algorithm used.
SEE ALSO
Mail::SPF, Mail::SPF::Record, Mail::SPF::Term, Mail::SPF::Mech
http://www.ietf.org/rfc/rfc4408.txt
For availability, support, and license information, see the README file included with Mail::SPF.
AUTHORS
Julian Mehnle <julian@mehnle.net>, Shevek <cpan@anarres.org>