Sample code for 30+ languages & platforms
Swift

Parsing a Multipart/Digest Email

See more Email Object Examples

This example demonstrates how to parse a multipart/digest email. An email parsed by this sample could have a MIME structure as follows:
multipart/mixed
    text/plain
    text/plain
    multipart/digest
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
    text/plain

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

    var emlPath: String? = "qa_data/eml/multipart_digest.eml"

    let email = CkoEmail()!

    // For this example, we'll load the email from a .eml.
    // The email could alternatively be loaded as a result of downloading from an IMAP or POP3 server..

    success = email.loadEml(mimePath: emlPath)
    if success == false {
        print("\(email.lastErrorText!)")
        return
    }

    var numDigests: Int = email.numDigests.intValue
    print("num digests = \(numDigests)")

    let eDigest = CkoEmail()!
    var i: Int = 0
    while i < numDigests {
        email.getDigest(index: i, email: eDigest)
        print("\(i):\(eDigest.fromAddress!), \(eDigest.subject!)")
        var m: String? = eDigest.getHeaderField(fieldName: "Message")
        if eDigest.lastMethodSuccess == true {
            print("    Message = \(m!)")
        }

        i = i + 1
    }


}