Sample code for 30+ languages & platforms
Go

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 Go Downloads

Go
    success := false

    emlPath := "qa_data/eml/multipart_digest.eml"

    email := chilkat.NewEmail()

    // 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(emlPath)
    if success == false {
        fmt.Println(email.LastErrorText())
        email.DisposeEmail()
        return
    }

    numDigests := email.NumDigests()
    fmt.Println("num digests = ", numDigests)

    eDigest := chilkat.NewEmail()
    i := 0
    for i < numDigests {
        email.GetDigestEmail(i,eDigest)
        fmt.Println(i, ":", eDigest.FromAddress(), ", ", eDigest.Subject())
        m := eDigest.GetHeaderField("Message")
        if eDigest.LastMethodSuccess() == true {
            fmt.Println("    Message = ", *m)
        }

        i = i + 1
    }


    email.DisposeEmail()
    eDigest.DisposeEmail()