.\" -*- 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 3pm" .TH Mail::SPF 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 \- An object\-oriented implementation of Sender Policy Framework .SH VERSION .IX Header "VERSION" 2.009 .SH SYNOPSIS .IX Header "SYNOPSIS" .Vb 1 \& use Mail::SPF; \& \& my $spf_server = Mail::SPF::Server\->new(); \& \& my $request = Mail::SPF::Request\->new( \& versions => [1, 2], # optional \& scope => \*(Aqmfrom\*(Aq, # or \*(Aqhelo\*(Aq, \*(Aqpra\*(Aq \& identity => \*(Aqfred@example.com\*(Aq, \& ip_address => \*(Aq192.168.0.1\*(Aq, \& helo_identity => \*(Aqmta.example.com\*(Aq # optional, \& # for %{h} macro expansion \& ); \& \& my $result = $spf_server\->process($request); \& \& print("$result\en"); \& my $result_code = $result\->code; # \*(Aqpass\*(Aq, \*(Aqfail\*(Aq, etc. \& my $local_exp = $result\->local_explanation; \& my $authority_exp = $result\->authority_explanation \& if $result\->is_code(\*(Aqfail\*(Aq); \& my $spf_header = $result\->received_spf_header; .Ve .SH DESCRIPTION .IX Header "DESCRIPTION" \&\fBMail::SPF\fR is an object-oriented implementation of Sender Policy Framework (SPF). See for more information about SPF. .PP This class collection aims to fully conform to the SPF specification (RFC 4408) so as to serve both as a production quality SPF implementation and as a reference for other developers of SPF implementations. .SH "SEE ALSO" .IX Header "SEE ALSO" Mail::SPF::Server, Mail::SPF::Request, Mail::SPF::Result .PP For availability, support, and license information, see the README file included with Mail::SPF. .SH REFERENCES .IX Header "REFERENCES" .IP "The SPF project" 4 .IX Item "The SPF project" .IP "The SPFv1 specification (RFC 4408)" 4 .IX Item "The SPFv1 specification (RFC 4408)" , .SH AUTHORS .IX Header "AUTHORS" Julian Mehnle , Shevek