.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Mail::SPF::Mech::A 3pm" .TH Mail::SPF::Mech::A 3pm 2023-07-25 "perl v5.38.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME Mail::SPF::Mech::A \- SPF record "a" mechanism class .SH DESCRIPTION .IX Header "DESCRIPTION" An object of class \fBMail::SPF::Mech::A\fR represents an SPF record mechanism of type \f(CW\*(C`a\*(C'\fR. .SS Constructors .IX Subsection "Constructors" The following constructors are provided: .IP "\fBnew(%options)\fR: returns \fIMail::SPF::Mech::A\fR" 4 .IX Item "new(%options): returns Mail::SPF::Mech::A" Creates a new SPF record \f(CW\*(C`a\*(C'\fR mechanism object. .Sp \&\f(CW%options\fR is a list of key/value pairs representing any of the following options: .RS 4 .IP \fBqualifier\fR 4 .IX Item "qualifier" .PD 0 .IP \fBdomain_spec\fR 4 .IX Item "domain_spec" .IP \fBipv4_prefix_length\fR 4 .IX Item "ipv4_prefix_length" .IP \fBipv6_prefix_length\fR 4 .IX Item "ipv6_prefix_length" .PD See "new" in Mail::SPF::Mech. .RE .RS 4 .RE .ie n .IP "\fBnew_from_string($text, \fR\fB%options\fR\fB)\fR: returns \fIMail::SPF::Mech::A\fR; throws \fIMail::SPF::ENothingToParse\fR, \fIMail::SPF::EInvalidMech\fR" 4 .el .IP "\fBnew_from_string($text, \fR\f(CB%options\fR\fB)\fR: returns \fIMail::SPF::Mech::A\fR; throws \fIMail::SPF::ENothingToParse\fR, \fIMail::SPF::EInvalidMech\fR" 4 .IX Item "new_from_string($text, %options): returns Mail::SPF::Mech::A; throws Mail::SPF::ENothingToParse, Mail::SPF::EInvalidMech" Creates a new SPF record \f(CW\*(C`a\*(C'\fR mechanism object by parsing the string and any options given. .SS "Class methods" .IX Subsection "Class methods" The following class methods are provided: .IP \fBdefault_qualifier\fR 4 .IX Item "default_qualifier" .PD 0 .IP \fBdefault_ipv4_prefix_length\fR 4 .IX Item "default_ipv4_prefix_length" .IP \fBdefault_ipv6_prefix_length\fR 4 .IX Item "default_ipv6_prefix_length" .IP \fBqualifier_pattern\fR 4 .IX Item "qualifier_pattern" .PD See "Class methods" in Mail::SPF::Mech. .IP "\fBname\fR: returns \fIstring\fR" 4 .IX Item "name: returns string" Returns \fB'a'\fR. .IP "\fBname_pattern\fR: returns \fIRegexp\fR" 4 .IX Item "name_pattern: returns Regexp" Returns a regular expression that matches a mechanism name of \fB'a'\fR. .SS "Instance methods" .IX Subsection "Instance methods" The following instance methods are provided: .IP \fBtext\fR 4 .IX Item "text" .PD 0 .IP \fBqualifier\fR 4 .IX Item "qualifier" .IP \fBparams\fR 4 .IX Item "params" .IP \fBstringify\fR 4 .IX Item "stringify" .IP \fBdomain\fR 4 .IX Item "domain" .IP \fBmatch_in_domain\fR 4 .IX Item "match_in_domain" .PD See "Instance methods" in Mail::SPF::Mech. .IP "\fBdomain_spec\fR: returns \fIMail::SPF::MacroString\fR" 4 .IX Item "domain_spec: returns Mail::SPF::MacroString" Returns the \f(CW\*(C`domain\-spec\*(C'\fR parameter of the mechanism. .IP "\fBipv4_prefix_length\fR: returns \fIinteger\fR" 4 .IX Item "ipv4_prefix_length: returns integer" Returns the IPv4 network prefix length of the mechanism. .IP "\fBipv6_prefix_length\fR: returns \fIinteger\fR" 4 .IX Item "ipv6_prefix_length: returns integer" Returns the IPv6 network prefix length of the mechanism. .ie n .IP "\fBmatch($server, \fR\fB$request\fR\fB)\fR: returns \fIboolean\fR" 4 .el .IP "\fBmatch($server, \fR\f(CB$request\fR\fB)\fR: returns \fIboolean\fR" 4 .IX Item "match($server, $request): returns boolean" Checks whether the mechanism's target domain name (that is, any of its DNS \f(CW\*(C`A\*(C'\fR or \f(CW\*(C`AAAA\*(C'\fR host addresses) matches the given request's IP address (see "ip_address" in Mail::SPF::Request), and returns \fBtrue\fR if it does, or \fBfalse\fR 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. .SH "SEE ALSO" .IX Header "SEE ALSO" Mail::SPF, Mail::SPF::Record, Mail::SPF::Term, Mail::SPF::Mech .PP .PP For availability, support, and license information, see the README file included with Mail::SPF. .SH AUTHORS .IX Header "AUTHORS" Julian Mehnle , Shevek