Sample code for 30+ languages & platforms
Lianja

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

Lianja
llSuccess = .F.

lcEmlPath = "qa_data/eml/multipart_digest.eml"

loEmail = createobject("CkEmail")

// 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..

llSuccess = loEmail.LoadEml(lcEmlPath)
if (llSuccess = .F.) then
    ? loEmail.LastErrorText
    release loEmail
    return
endif

lnNumDigests = loEmail.NumDigests
? "num digests = " + str(lnNumDigests)

loEDigest = createobject("CkEmail")
i = 0
do while i < lnNumDigests
    loEmail.GetDigestEmail(i,loEDigest)
    ? str(i) + ":" + loEDigest.FromAddress + ", " + loEDigest.Subject
    m = loEDigest.GetHeaderField("Message")
    if (loEDigest.LastMethodSuccess = .T.) then
        ? "    Message = " + m
    endif

    i = i + 1
enddo


release loEmail
release loEDigest