summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Sulfrian <alex@spline.inf.fu-berlin.de>2016-05-26 03:44:31 +0200
committerAlexander Sulfrian <alex@spline.inf.fu-berlin.de>2016-05-26 03:44:31 +0200
commit78349ac1769a48e5047e6cb0e29e528d5a02dfbd (patch)
treef84fd352a76fe6dd2a536e9c1eea5b6a62c4191b
parent2a783dc0bed64a64c5a03e0a3d4436f2d7a54cfa (diff)
downloaddmarc-78349ac1769a48e5047e6cb0e29e528d5a02dfbd.tar.gz
dmarc-78349ac1769a48e5047e6cb0e29e528d5a02dfbd.tar.bz2
dmarc-78349ac1769a48e5047e6cb0e29e528d5a02dfbd.zip
Ignore invalid domains
-rw-r--r--Spline/DMARC.pm19
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()) {