Sample code for 30+ languages & platforms
Perl Requires Chilkat v11.0.0+

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

Chilkat2 Perl
use strict;
use warnings;
use Chilkat2;

my $emlPath = 'qa_data/eml/multipart_digest.eml';

my $email = Chilkat2::Email->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..

my $success = $email->LoadEml($emlPath);
if (!$success) {
    print $email->LastErrorText, "\n";
    exit;
}

my $numDigests = $email->NumDigests;
print 'num digests = ', $numDigests, "\n";

my $eDigest = Chilkat2::Email->new;
my $i = 0;
while ($i < $numDigests) {
    $email->GetDigestEmail($i, $eDigest);
    print $i, ':', $eDigest->FromAddress, ', ', $eDigest->Subject, "\n";
    my $m = $eDigest->GetHeaderField('Message');
    if ($eDigest->LastMethodSuccess) {
        print '    Message = ', $m, "\n";
    }

    $i = $i + 1;
}