File Coverage

lib/Mail/DMARC/Report/Send.pm
Criterion Covered Total %
statement 31 31 100.0
branch 3 4 75.0
condition 1 2 50.0
subroutine 8 8 100.0
pod 0 3 0.0
total 43 48 89.5


line stmt bran cond sub pod time code
1             package Mail::DMARC::Report::Send;
2 10     10   820 use strict;
  10         18  
  10         333  
3 10     10   57 use warnings;
  10         19  
  10         466  
4              
5             our $VERSION = '1.20210927';
6              
7 10     10   55 use parent 'Mail::DMARC::Base';
  10         24  
  10         63  
8 10     10   5037 use Mail::DMARC::Report::Send::SMTP;
  10         29  
  10         402  
9 10     10   5101 use Mail::DMARC::Report::Send::HTTP;
  10         26  
  10         2686  
10              
11             sub http {
12 1     1 0 2 my $self = shift;
13 1 50       4 return $self->{http} if ref $self->{http};
14 1         6 return $self->{http} = Mail::DMARC::Report::Send::HTTP->new();
15             }
16              
17             sub smtp {
18 6     6 0 597 my $self = shift;
19 6 100       29 return $self->{smtp} if ref $self->{smtp};
20 5         35 return $self->{smtp} = Mail::DMARC::Report::Send::SMTP->new();
21             }
22              
23             sub too_big_report {
24 1     1 0 3 my ( $self, $arg_ref ) = @_;
25              
26 1         7 my $OrgName = $self->config->{organization}{org_name};
27 1         1066 my $Domain = $self->config->{organization}{domain};
28 1   50     4 my $ver = $Mail::DMARC::Base::VERSION || ''; # undef in author environ
29 1         2 my $uri = $arg_ref->{uri};
30 1         2 my $bytes = $arg_ref->{report_bytes};
31 1         10 my $report_id = $arg_ref->{report_id};
32 1         3 my $rep_domain= $arg_ref->{report_domain};
33 1         2 my $date = $self->smtp->get_timestamp_rfc2822;
34              
35             return <<"EO_TOO_BIG"
36              
37             This is a 'too big' DMARC notice. The aggregate report was NOT delivered.
38              
39             Report-Date: $date
40             Report-Domain: $rep_domain
41             Report-ID: $report_id
42             Report-Size: $bytes
43             Submitter: $Domain
44             Submitting-URI: $uri
45              
46             Submitted by $OrgName
47             Generated with Mail::DMARC $ver
48              
49             EO_TOO_BIG
50 1         13 ;
51             }
52              
53             1;
54              
55             __END__