diff options
Diffstat (limited to 'Spline/DMARC.pm')
-rw-r--r-- | Spline/DMARC.pm | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/Spline/DMARC.pm b/Spline/DMARC.pm index 4264dd5..1cea9cb 100644 --- a/Spline/DMARC.pm +++ b/Spline/DMARC.pm @@ -48,12 +48,21 @@ sub get_dmarc_policy($) { my $domain = shift; my $effective_p = 'none'; - my $dmarc = Mail::DMARC::PurePerl->new( - header_from => $domain, - ); - debug "Checking DMARC policy for $domain"; - if ($dmarc->exists_in_dns()) { + + my $dmarc; + eval { + $dmarc = Mail::DMARC::PurePerl->new( + header_from => $domain, + ); + }; + + if ($@) { + chomp($@); + debug "Error: $@"; + info "Skipping invalid domain: $domain"; + } + elsif ($dmarc->exists_in_dns()) { my $policy = $dmarc->discover_policy(); if (defined $policy && $policy->is_valid()) { |