Delphi DLL Requires Chilkat v11.0.0+
Delphi DLL
Transition from MailMan.MxLookup to Dns.Query
Provides instructions for replacing deprecated MxLookup method calls with the Chilkat Dns class.Chilkat Delphi DLL Downloads
var
success: Boolean;
mailman: HCkMailMan;
emailAddr: PWideChar;
domain: PWideChar;
dns: HCkDns;
json: HCkJsonObject;
i: Integer;
count_i: Integer;
begin
success := False;
mailman := CkMailMan_Create();
// ...
// ...
emailAddr := 'joe@example.com';
// ------------------------------------------------------------------------
// The MxLookup method is deprecated:
domain := CkMailMan__mxLookup(mailman,emailAddr);
if (CkMailMan_getLastMethodSuccess(mailman) = False) then
begin
Memo1.Lines.Add(CkMailMan__lastErrorText(mailman));
Exit;
end;
// ------------------------------------------------------------------------
// Do the equivalent using the Chilkat DNS class
dns := CkDns_Create();
json := CkJsonObject_Create();
// 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;
CkMailMan_Dispose(mailman);
CkDns_Dispose(dns);
CkJsonObject_Dispose(json);