Sample code for 30+ languages & platforms
Delphi DLL Requires Chilkat v11.0.0+

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 Delphi DLL Downloads

Delphi DLL
var
success: Boolean;
dns: HCkDns;
json: HCkJsonObject;
emailAddr: PWideChar;
i: Integer;
count_i: Integer;
domain: PWideChar;

begin
success := False;

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

dns := CkDns_Create();
json := CkJsonObject_Create();

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 := CkDns_Query(dns,'MX',emailAddr,json);
if (success = False) then
  begin
    Memo1.Lines.Add(CkDns__lastErrorText(dns));
    Exit;
  end;

i := 0;
count_i := CkJsonObject_SizeOfArray(json,'answer.mx');
while i < count_i do
  begin
    CkJsonObject_putI(json,i);
    domain := CkJsonObject__stringOf(json,'answer.mx[i].domain');
    Memo1.Lines.Add(domain);
    i := i + 1;
  end;

CkDns_Dispose(dns);
CkJsonObject_Dispose(json);