Sample code for 30+ languages & platforms
Visual FoxPro

Example: Email.GetDsnInfo method

See more Email Object Examples

Demonstrates how to call the GetDsnInfo method.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loEmail
LOCAL loJson
LOCAL lcStrVal
LOCAL lcReporting_mta
LOCAL lcAction
LOCAL lcStatus
LOCAL lcRemote_mta
LOCAL lcX_supplementary_info
LOCAL lcX_display_name
LOCAL i
LOCAL lnCount

lnSuccess = 0

loEmail = CreateObject('Chilkat.Email')

lnSuccess = loEmail.LoadEml("qa_data/eml/sample_multipart_report.eml")
IF (lnSuccess = 0) THEN
    ? loEmail.LastErrorText
    RELEASE loEmail
    CANCEL
ENDIF

loJson = CreateObject('Chilkat.JsonObject')
lnSuccess = loEmail.GetDsnInfo(loJson)
IF (lnSuccess = 0) THEN
    ? loEmail.LastErrorText
    RELEASE loEmail
    RELEASE loJson
    CANCEL
ENDIF

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