diff options
author | Troy Morehouse <troymore@nbnet.nb.ca> | 2016-09-20 11:07:36 -0300 |
---|---|---|
committer | Ricardo Signes <rjbs@cpan.org> | 2016-09-22 19:12:33 -0400 |
commit | bf66317ea34008273314dd83f8c795eabc7bb6c3 (patch) | |
tree | ba72a03b665099940a651db5ffe499b511025f31 | |
parent | c2303a1a86f7d58e97ca137b9b1ef5d845a7a18e (diff) |
Added host A check for MX routine
Added in checking for valid A record for host if valid MX record not found.
-rw-r--r-- | lib/Email/Valid.pm | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/Email/Valid.pm b/lib/Email/Valid.pm index 34008f4..c0616da 100644 --- a/lib/Email/Valid.pm +++ b/lib/Email/Valid.pm @@ -146,6 +146,7 @@ sub _net_dns_query { my @mx_entries = Net::DNS::mx($Resolver, $host); + # Check for valid MX records for $host if (@mx_entries) { foreach my $mx (@mx_entries) { my $mxhost = $mx->exchange; @@ -157,6 +158,15 @@ sub _net_dns_query { } } + # Chceck for A record for $host + my @a_rrs = Net::DNS::rr($Resolver, $host, 'A'); + if (@a_rrs) { + foreach my $a_rr (@a_rrs) { + return 1 unless $a_rr->type ne 'A'; + } + } + + # MX Check failed return $self->details('mx'); } |