PureBasic
PureBasic
Example: Email.GetDsnInfo method
See more Email Object Examples
Demonstrates how to call the GetDsnInfo method.Chilkat PureBasic Downloads
IncludeFile "CkEmail.pb"
IncludeFile "CkJsonObject.pb"
Procedure ChilkatExample()
success.i = 0
email.i = CkEmail::ckCreate()
If email.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkEmail::ckLoadEml(email,"qa_data/eml/sample_multipart_report.eml")
If success = 0
Debug CkEmail::ckLastErrorText(email)
CkEmail::ckDispose(email)
ProcedureReturn
EndIf
json.i = CkJsonObject::ckCreate()
If json.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkEmail::ckGetDsnInfo(email,json)
If success = 0
Debug CkEmail::ckLastErrorText(email)
CkEmail::ckDispose(email)
CkJsonObject::ckDispose(json)
ProcedureReturn
EndIf
CkJsonObject::setCkEmitCompact(json, 0)
Debug CkJsonObject::ckEmit(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:
strVal.s
reporting_mta.s = CkJsonObject::ckStringOf(json,"reporting-mta")
action.s = CkJsonObject::ckStringOf(json,"action")
status.s = CkJsonObject::ckStringOf(json,"status")
remote_mta.s = CkJsonObject::ckStringOf(json,"remote-mta")
x_supplementary_info.s = CkJsonObject::ckStringOf(json,"x-supplementary-info")
x_display_name.s = CkJsonObject::ckStringOf(json,"x-display-name")
i.i = 0
count.i = CkJsonObject::ckSizeOfArray(json,"final-recipient")
While i < count
CkJsonObject::setCkI(json, i)
strVal = CkJsonObject::ckStringOf(json,"final-recipient[i]")
i = i + 1
Wend
CkEmail::ckDispose(email)
CkJsonObject::ckDispose(json)
ProcedureReturn
EndProcedure