Sample code for 30+ languages & platforms
Lianja

Example: Email.GetDsnInfo method

See more Email Object Examples

Demonstrates how to call the GetDsnInfo method.

Chilkat Lianja Downloads

Lianja
llSuccess = .F.

loEmail = createobject("CkEmail")

llSuccess = loEmail.LoadEml("qa_data/eml/sample_multipart_report.eml")
if (llSuccess = .F.) then
    ? loEmail.LastErrorText
    release loEmail
    return
endif

loJson = createobject("CkJsonObject")
llSuccess = loEmail.GetDsnInfo(loJson)
if (llSuccess = .F.) then
    ? loEmail.LastErrorText
    release loEmail
    release loJson
    return
endif

loJson.EmitCompact = .F.
? loJson.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:

lcReporting_mta = loJson.StringOf("reporting-mta")
lcAction = loJson.StringOf("action")
lcStatus = loJson.StringOf("status")
lcRemote_mta = loJson.StringOf("remote-mta")
lcX_supplementary_info = loJson.StringOf("x-supplementary-info")
lcX_display_name = loJson.StringOf("x-display-name")
i = 0
lnCount = loJson.SizeOfArray("final-recipient")
do while i < lnCount
    loJson.I = i
    lcStrVal = loJson.StringOf("final-recipient[i]")
    i = i + 1
enddo


release loEmail
release loJson