Sample code for 30+ languages & platforms
Tcl

Example: Email.GetDsnInfo method

See more Email Object Examples

Demonstrates how to call the GetDsnInfo method.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

set email [new_CkEmail]

set success [CkEmail_LoadEml $email "qa_data/eml/sample_multipart_report.eml"]
if {$success == 0} then {
    puts [CkEmail_lastErrorText $email]
    delete_CkEmail $email
    exit
}

set json [new_CkJsonObject]

set success [CkEmail_GetDsnInfo $email $json]
if {$success == 0} then {
    puts [CkEmail_lastErrorText $email]
    delete_CkEmail $email
    delete_CkJsonObject $json
    exit
}

CkJsonObject_put_EmitCompact $json 0
puts [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:

set reporting_mta [CkJsonObject_stringOf $json "reporting-mta"]
set action [CkJsonObject_stringOf $json "action"]
set status [CkJsonObject_stringOf $json "status"]
set remote_mta [CkJsonObject_stringOf $json "remote-mta"]
set x_supplementary_info [CkJsonObject_stringOf $json "x-supplementary-info"]
set x_display_name [CkJsonObject_stringOf $json "x-display-name"]
set i 0
set count [CkJsonObject_SizeOfArray $json "final-recipient"]
while {$i < $count} {
    CkJsonObject_put_I $json $i
    set strVal [CkJsonObject_stringOf $json "final-recipient[i]"]
    set i [expr $i + 1]
}

delete_CkEmail $email
delete_CkJsonObject $json