Mail-DMARC
view release on metacpan or search on metacpan
CHANGELOG.md view on Meta::CPAN
- test: mock DNS during testing #213
- ci: restore CI tests to working order
- Force lower case for SPF domain input #212
### 1.20230215
- Fix error when logging a report which was skipped for size
### 1.20211209
- Properly delete sent reports when the database does not support cascade
### 1.20210927
- Fix reporting for selectors whose name evaluates to false
- Use maybestarttls for opportunistic encryption when sending reports using Email::Sender v2.0 or greater
- Remove dead domain dmarc-qa.com from tests
- Print full syntax guide with "--help" option (Jeremiah Morris)
### 1.20210427
lib/Mail/DMARC/Report/Store/SQL.pm view on Meta::CPAN
$self->populate_agg_records( \$agg, $report->{rid} );
push @reports_todo, $agg;
}
return \@reports_todo;
}
sub delete_report( $self, $report_id = undef ) {
$report_id or croak "missing report ID";
print "deleting report $report_id\n" if $self->verbose;
# deletes with FK don't cascade in SQLite? Clean each table manually
my $rows = $self->query( $self->grammar->report_record_id, [$report_id] );
my @row_ids = map { $_->{id} } @$rows;
if (@row_ids) {
foreach my $table (
qw/ report_record_spf report_record_dkim report_record_reason /)
{
print "deleting $table rows " . join( ',', @row_ids ) . "\n"
if $self->verbose;
eval {
lib/Mail/DMARC/Report/Store/SQL.pm view on Meta::CPAN
foreach my $table (qw/ report_policy_published report_record report_error /) {
print "deleting $table rows for report $report_id\n" if $self->verbose;
eval {
$self->query( $self->grammar->delete_from_where_report($table),
[$report_id] );
};
# warn $@ if $@;
}
# In MySQL, where FK constraints DO cascade, this is the only query needed
$self->query( $self->grammar->delete_report, [$report_id] );
return 1;
}
sub get_domain_id( $self, $domain ) {
croak "missing domain calling " . ( caller(0) )[3] if !$domain;
my $r = $self->query( $self->grammar->select_domain_id, [$domain] );
if ( $r && @$r ) {
return $r->[0]{id};
}
( run in 1.493 second using v1.01-cache-2.11-cpan-df04353d9ac )