Sample code for 30+ languages & platforms
Ruby

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

Ruby
require 'chilkat'

success = false

emlPath = "qa_data/eml/multipart_digest.eml"

email = Chilkat::CkEmail.new()

# 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)
    print email.lastErrorText() + "\n";
    exit
end

numDigests = email.get_NumDigests()
print "num digests = " + numDigests.to_s() + "\n";

eDigest = Chilkat::CkEmail.new()
i = 0
while i < numDigests
    email.GetDigestEmail(i,eDigest)
    print i.to_s() + ":" + eDigest.fromAddress() + ", " + eDigest.subject() + "\n";
    m = eDigest.getHeaderField("Message")
    if (eDigest.get_LastMethodSuccess() == true)
        print "    Message = " + m + "\n";
    end

    i = i + 1
end