Sample code for 30+ languages & platforms
Perl

Example: Email.GetDsnInfo method

See more Email Object Examples

Demonstrates how to call the GetDsnInfo method.

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

$email = chilkat::CkEmail->new();

$success = $email->LoadEml("qa_data/eml/sample_multipart_report.eml");
if ($success == 0) {
    print $email->lastErrorText() . "\r\n";
    exit;
}

$json = chilkat::CkJsonObject->new();
$success = $email->GetDsnInfo($json);
if ($success == 0) {
    print $email->lastErrorText() . "\r\n";
    exit;
}

$json->put_EmitCompact(0);
print $json->emit() . "\r\n";

# 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) {
    $json->put_I($i);
    $strVal = $json->stringOf("final-recipient[i]");
    $i = $i + 1;
}