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   916 use strict;
  10         22  
  10         357  
3 10     10   65 use warnings;
  10         20  
  10         508  
4              
5             our $VERSION = '1.20211209';
6              
7 10     10   73 use parent 'Mail::DMARC::Base';
  10         19  
  10         87  
8 10     10   6889 use Mail::DMARC::Report::Send::SMTP;
  10         36  
  10         418  
9 10     10   6067 use Mail::DMARC::Report::Send::HTTP;
  10         34  
  10         2864  
10              
11             sub http {
12 1     1 0 3 my $self = shift;
13 1 50       4 return $self->{http} if ref $self->{http};
14 1         8 return $self->{http} = Mail::DMARC::Report::Send::HTTP->new();
15             }
16              
17             sub smtp {
18 6     6 0 498 my $self = shift;
19 6 100       32 return $self->{smtp} if ref $self->{smtp};
20 5         47 return $self->{smtp} = Mail::DMARC::Report::Send::SMTP->new();
21             }
22              
23             sub too_big_report {
24 1     1 0 4 my ( $self, $arg_ref ) = @_;
25              
26 1         9 my $OrgName = $self->config->{organization}{org_name};
27 1         1109 my $Domain = $self->config->{organization}{domain};
28 1   50     5 my $ver = $Mail::DMARC::Base::VERSION || ''; # undef in author environ
29 1         3 my $uri = $arg_ref->{uri};
30 1         3 my $bytes = $arg_ref->{report_bytes};
31 1         2 my $report_id = $arg_ref->{report_id};
32 1         2 my $rep_domain= $arg_ref->{report_domain};
33 1         3 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         17 ;
51             }
52              
53             1;
54              
55             __END__