Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Hi, I'm a little stuck, just how do you lookup MX records using perl? Plain DNS lookups are no problem, but I need something to do dig style lookups..... I'm missing something obvious I know :) Any examples would be very greatfully recived. TIA.

Replies are listed 'Best First'.
Re: MX Lookups
by grinder (Bishop) on Jun 10, 2002 at 20:31 UTC
    If you have Net::DNS lying around this is a snap to write:

    #! /usr/local/bin/perl -w use strict; use Net::DNS; my $dns = new Net::DNS::Resolver; for my $domain( @ARGV ) { my $mx = $dns->query( $domain, 'MX' ); print "$domain\n"; foreach my $rr ($mx->answer) { print "\t", $rr->exchange, ' (', $rr->preference, ")\n"; } } __END__ output: % ./mx (20) (10) (10) (5) (0)

    print@_{sort keys %_},$/if%_=split//,'= & *a?b:e\f/h^h!j+n,o@o;r$s-t%t#u'
Re: MX Lookups
by neilwatson (Priest) on Jun 10, 2002 at 19:59 UTC
Re: MX Lookups
by hakkr (Chaplain) on Jun 11, 2002 at 12:37 UTC
    Cpan module Email::Valid does an Mx lookup and syntax check