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

Transition from MailMan.MxLookupAll to the Chilkat DNS class

Provides instructions for replacing deprecated MxLookupAll method calls with the Chilkat Dns class.

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
var
success: Integer;
mailman: TChilkatMailMan;
emailAddr: WideString;
sa: ICkStringArray;
dns: TChilkatDns;
json: TChilkatJsonObject;
i: Integer;
count_i: Integer;
domain: WideString;

begin
success := 0;

mailman := TChilkatMailMan.Create(Self);

//  ...
//  ...

emailAddr := 'joe@example.com';

//  ------------------------------------------------------------------------
//  The MxLookupAll method is deprecated:

sa := mailman.MxLookupAll(emailAddr);
if (mailman.LastMethodSuccess = 0) then
  begin
    Memo1.Lines.Add(mailman.LastErrorText);
    Exit;
  end;

//  ...
//  ...

//  ------------------------------------------------------------------------
//  Do the equivalent using the Chilkat DNS class

dns := TChilkatDns.Create(Self);

json := TChilkatJsonObject.Create(Self);

//  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;