|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Anton Petrusevich 2:5004/16 31 Dec 2001 14:25:07 To : Pavel V. Reich Subject : Re: Net::DNS? -------------------------------------------------------------------------------- > Требуется определить полное имя mail-сервера определенного домена. То > есть, как я вижу - требуется узнать MX по имени домена. Как? имхо > что-то наподобие сабжа мне поможет. Заранее благодарен. Примерно так: use Net::DNS::Resolver; use Net::DNS::RR; sub get_mx { my $addr=shift; $addr =~ s/[<>]//g; split /\@/, $addr; my $domain=$_[1]; my $Resolver=new Net::DNS::Resolver; my $pck=$Resolver->search($domain,"MX"); if( !defined $pck ) { my_log("undefined answer packet for $domain"); return undef; } my @answ; foreach($pck->answer){ push @answ,$_ if $_->type eq "MX"; } if(scalar @answ == 0) { my_log("bad answer for $domain"); return undef; } my @mx=sort { $a->preference <=> $b->preference } @answ; return $mx[0]->exchange; } -- Anton Petrusevich --- ifmail v.2.15.lk6.b5 * Origin: Irving, TX 75063, USA (2:5004/16.29) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/1212281e21ae9.html, оценка из 5, голосов 10
|