Sample code for 30+ languages & platforms
Perl

MX Lookup Mail Server Domain by Email Address

How to find the mail server for a given email address. Returns the domain name of the primary mail server.

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

$dns = chilkat::CkDns->new();
$json = chilkat::CkJsonObject->new();

$emailAddr = 'bob@example.com';

# This gets all MX domains for an email address.  (Typically one domain.)
# The preferred domain will be at index 0 (see below).
$success = $dns->Query("MX",$emailAddr,$json);
if ($success == 0) {
    print $dns->lastErrorText() . "\r\n";
    exit;
}

$i = 0;
$count_i = $json->SizeOfArray("answer.mx");
while ($i < $count_i) {
    $json->put_I($i);
    $domain = $json->stringOf("answer.mx[i].domain");
    print $domain . "\r\n";
    $i = $i + 1;
}