File Coverage

blib/lib/Mail/SPF.pm
Criterion Covered Total %
statement 21 21 100.0
branch n/a
condition n/a
subroutine 7 7 100.0
pod n/a
total 28 28 100.0


line stmt bran cond sub pod time code
1             #
2             # Mail::SPF
3             # An object-oriented Perl implementation of Sender Policy Framework.
4             #
5             #
6             # (C) 2005-2012 Julian Mehnle
7             # 2005 Shevek
8             # $Id: SPF.pm 63 2013-07-22 03:52:21Z julian $
9             #
10             ##############################################################################
11              
12             package Mail::SPF;
13              
14             =head1 NAME
15              
16             Mail::SPF - An object-oriented implementation of Sender Policy Framework
17              
18             =head1 VERSION
19              
20             2.009
21              
22             =cut
23              
24 1     1   2159 use version; our $VERSION = qv('2.009');
  1         2231  
  1         6  
25              
26 1     1   79 use warnings;
  1         1  
  1         29  
27 1     1   6 use strict;
  1         2  
  1         27  
28              
29 1     1   695 use Mail::SPF::Server;
  1         4  
  1         27  
30 1     1   687 use Mail::SPF::Request;
  1         4  
  1         54  
31              
32 1     1   8 use constant TRUE => (0 == 0);
  1         2  
  1         70  
33 1     1   6 use constant FALSE => not TRUE;
  1         1  
  1         87  
34              
35             =head1 SYNOPSIS
36              
37             use Mail::SPF;
38              
39             my $spf_server = Mail::SPF::Server->new();
40              
41             my $request = Mail::SPF::Request->new(
42             versions => [1, 2], # optional
43             scope => 'mfrom', # or 'helo', 'pra'
44             identity => 'fred@example.com',
45             ip_address => '192.168.0.1',
46             helo_identity => 'mta.example.com' # optional,
47             # for %{h} macro expansion
48             );
49              
50             my $result = $spf_server->process($request);
51              
52             print("$result\n");
53             my $result_code = $result->code; # 'pass', 'fail', etc.
54             my $local_exp = $result->local_explanation;
55             my $authority_exp = $result->authority_explanation
56             if $result->is_code('fail');
57             my $spf_header = $result->received_spf_header;
58              
59             =head1 DESCRIPTION
60              
61             B is an object-oriented implementation of Sender Policy Framework
62             (SPF). See L for more information about SPF.
63              
64             This class collection aims to fully conform to the SPF specification (RFC
65             4408) so as to serve both as a production quality SPF implementation and as a
66             reference for other developers of SPF implementations.
67              
68             =head1 SEE ALSO
69              
70             L, L, L
71              
72             For availability, support, and license information, see the README file
73             included with Mail::SPF.
74              
75             =head1 REFERENCES
76              
77             =over
78              
79             =item The SPF project
80              
81             L
82              
83             =item The SPFv1 specification (RFC 4408)
84              
85             L, L
86              
87             =back
88              
89             =head1 AUTHORS
90              
91             Julian Mehnle , Shevek
92              
93             =cut
94              
95             TRUE;