Sample code for 30+ languages & platforms
Delphi ActiveX

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 ActiveX Downloads

Delphi ActiveX
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Integer;
dns: TChilkatDns;
json: TChilkatJsonObject;
emailAddr: WideString;
i: Integer;
count_i: Integer;
domain: WideString;

begin
success := 0;

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

dns := TChilkatDns.Create(Self);
json := TChilkatJsonObject.Create(Self);

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.ControlInterface);
if (success = 0) then
  begin
    Memo1.Lines.Add(dns.LastErrorText);
    Exit;
  end;

i := 0;
count_i := json.SizeOfArray('answer.mx');
while i < count_i do
  begin
    json.I := i;
    domain := json.StringOf('answer.mx[i].domain');
    Memo1.Lines.Add(domain);
    i := i + 1;
  end;
end;