Using resolv to get the mailhost

D

Daniel Berger

Hi,

I'm trying to figure out a way to get the mailhost using the 'resolv'
library, but I'm having trouble because it isn't documented. What's a
good analogue of this Perl script?

use strict;
use Net::DNS;

my $resolv = Net::DNS::Resolver->new();
my $packet = $resolv->search("mailhost");

foreach my $rr ($packet->answer){
$rr->print;
}

# Prints the following (IP addresses changed to protect the guilty):

mailhost.foo.com. 900 IN CNAME mailgate.domain.com.
mailgate.domain.com. 900 IN A 1.2.3.4
mailgate.domain.com. 900 IN A 1.2.3.5
mailgate.domain.com. 900 IN A 1.2.3.6
mailgate.domain.com. 900 IN A 1.2.3.7
mailgate.domain.com. 900 IN A 1.2.3.8
mailgate.domain.com. 900 IN A 1.2.3.9

I'd really just like the first name of the first answer, i.e.
"mailhost.foo.com".

Thanks,

Dan
 
D

Daniel Berger

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Daniel said:
Hi,

I'm trying to figure out a way to get the mailhost using the 'resolv'
library, but I'm having trouble because it isn't documented. What's a
good analogue of this Perl script?

use strict;
use Net::DNS;

my $resolv = Net::DNS::Resolver->new();
my $packet = $resolv->search("mailhost");

foreach my $rr ($packet->answer){
$rr->print;
}

# Prints the following (IP addresses changed to protect the guilty):

mailhost.foo.com. 900 IN CNAME mailgate.domain.com.
mailgate.domain.com. 900 IN A 1.2.3.4
mailgate.domain.com. 900 IN A 1.2.3.5
mailgate.domain.com. 900 IN A 1.2.3.6
mailgate.domain.com. 900 IN A 1.2.3.7
mailgate.domain.com. 900 IN A 1.2.3.8
mailgate.domain.com. 900 IN A 1.2.3.9

I'd really just like the first name of the first answer, i.e.
"mailhost.foo.com".

It seems that I needed to put an explicit domain entry for foo.com in my
/etc/resolv.conf file. Once I did that, then
Resolv.getaddress("mailhost") worked.

However, I'm confused as to why "host mailhost" and the Perl code above
worked without it, while the Ruby code required it. Any insight
appreciated.

Regards,

Dan

PS - Solaris 10, btw.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org

iD8DBQFFHGqK3p/dorzCFX0RAuajAKCXN6zBl+4mkV4gtpKgfb2HtYHywwCglLYc
9bD7X4QYv8uiIYVLeQwguBA=
=lKyF
-----END PGP SIGNATURE-----
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,432
Messages
2,571,682
Members
48,796
Latest member
Greg L.

Latest Threads

Top