Sample code for 30+ languages & platforms
Swift Requires Chilkat v11.0.0+

Example: Email.GetDsnInfo method

See more Email Object Examples

Demonstrates how to call the GetDsnInfo method.

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

    let email = CkoEmail()!

    success = email.loadEml(mimePath: "qa_data/eml/sample_multipart_report.eml")
    if success == false {
        print("\(email.lastErrorText!)")
        return
    }

    let json = CkoJsonObject()!
    success = email.getDsnInfo(json: json)
    if success == false {
        print("\(email.lastErrorText!)")
        return
    }

    json.emitCompact = false
    print("\(json.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:

    var strVal: String?

    var reporting_mta: String? = json.string(of: "reporting-mta")
    var action: String? = json.string(of: "action")
    var status: String? = json.string(of: "status")
    var remote_mta: String? = json.string(of: "remote-mta")
    var x_supplementary_info: String? = json.string(of: "x-supplementary-info")
    var x_display_name: String? = json.string(of: "x-display-name")
    var i: Int = 0
    var count: Int = json.size(ofArray: "final-recipient").intValue
    while i < count {
        json.i = i
        strVal = json.string(of: "final-recipient[i]")
        i = i + 1
    }


}