Delphi DLL
Delphi DLL
Example: Email.GetDsnInfo method
See more Email Object Examples
Demonstrates how to call the GetDsnInfo method.Chilkat Delphi DLL Downloads
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Email, JsonObject;
...
procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
email: HCkEmail;
json: HCkJsonObject;
strVal: PWideChar;
reporting_mta: PWideChar;
action: PWideChar;
status: PWideChar;
remote_mta: PWideChar;
x_supplementary_info: PWideChar;
x_display_name: PWideChar;
i: Integer;
count: Integer;
begin
success := False;
email := CkEmail_Create();
success := CkEmail_LoadEml(email,'qa_data/eml/sample_multipart_report.eml');
if (success = False) then
begin
Memo1.Lines.Add(CkEmail__lastErrorText(email));
Exit;
end;
json := CkJsonObject_Create();
success := CkEmail_GetDsnInfo(email,json);
if (success = False) then
begin
Memo1.Lines.Add(CkEmail__lastErrorText(email));
Exit;
end;
CkJsonObject_putEmitCompact(json,False);
Memo1.Lines.Add(CkJsonObject__emit(json));
// 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 := CkJsonObject__stringOf(json,'reporting-mta');
action := CkJsonObject__stringOf(json,'action');
status := CkJsonObject__stringOf(json,'status');
remote_mta := CkJsonObject__stringOf(json,'remote-mta');
x_supplementary_info := CkJsonObject__stringOf(json,'x-supplementary-info');
x_display_name := CkJsonObject__stringOf(json,'x-display-name');
i := 0;
count := CkJsonObject_SizeOfArray(json,'final-recipient');
while i < count do
begin
CkJsonObject_putI(json,i);
strVal := CkJsonObject__stringOf(json,'final-recipient[i]');
i := i + 1;
end;
CkEmail_Dispose(email);
CkJsonObject_Dispose(json);
end;