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

Example: Email.GetDsnInfo method

See more Email Object Examples

Demonstrates how to call the GetDsnInfo method.

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
var
success: Integer;
email: TChilkatEmail;
json: TChilkatJsonObject;
strVal: WideString;
reporting_mta: WideString;
action: WideString;
status: WideString;
remote_mta: WideString;
x_supplementary_info: WideString;
x_display_name: WideString;
i: Integer;
count: Integer;

begin
success := 0;

email := TChilkatEmail.Create(Self);

success := email.LoadEml('qa_data/eml/sample_multipart_report.eml');
if (success = 0) then
  begin
    Memo1.Lines.Add(email.LastErrorText);
    Exit;
  end;

json := TChilkatJsonObject.Create(Self);
success := email.GetDsnInfo(json.ControlInterface);
if (success = 0) then
  begin
    Memo1.Lines.Add(email.LastErrorText);
    Exit;
  end;

json.EmitCompact := 0;
Memo1.Lines.Add(json.Emit());

//  Sample output:

//  {
//    "reporting-mta": "dns; Exchange2016.example.com",
//    "final-recipient": [
//      "herb.butterworth1247692846@gmail.com"
//    ],
//    "action": "failed",
//    "status": "5.1.1",
//    "remote-mta": "dns; mx.google.com",
//    "x-supplementary-info": "<mx.google.com #5.1.1 smtp;550-5.1.1 The email account that you tried to reach does not exist. Please try 550-5.1.1 double-checking the recipient's email address for typos or 550-5.1.1 unnecessary spaces. Learn more at 550 5.1.1  https://support.google.com/mail/?p=NoSuchUser o8-20020a056870968800b001b55816bea9si2188132oaq.70 - gsmtp>",
//    "x-display-name": "herb.butterworth1247692846@gmail.com"
//  }

//  Code for parsing the JSON:

reporting_mta := json.StringOf('reporting-mta');
action := json.StringOf('action');
status := json.StringOf('status');
remote_mta := json.StringOf('remote-mta');
x_supplementary_info := json.StringOf('x-supplementary-info');
x_display_name := json.StringOf('x-display-name');
i := 0;
count := json.SizeOfArray('final-recipient');
while i < count do
  begin
    json.I := i;
    strVal := json.StringOf('final-recipient[i]');
    i := i + 1;
  end;