Sample code for 30+ languages & platforms
Perl

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

Perl
use chilkat();

$success = 0;

$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 == 0) {
    print $email->lastErrorText() . "\r\n";
    exit;
}

$numDigests = $email->get_NumDigests();
print "num digests = " . $numDigests . "\r\n";

$eDigest = chilkat::CkEmail->new();
$i = 0;
while ($i < $numDigests) {
    $email->GetDigestEmail($i,$eDigest);
    print $i . ":" . $eDigest->fromAddress() . ", " . $eDigest->subject() . "\r\n";
    $m = $eDigest->getHeaderField("Message");
    if ($eDigest->get_LastMethodSuccess() == 1) {
        print "    Message = " . $m . "\r\n";
    }

    $i = $i + 1;
}