Perl
Chilkat2 Perl
Count the Attached Messages in an Email
See more Email Object Examples
Demonstrates the read-only Chilkat Email.NumAttachedMessages property, which is the number of embedded emails represented by message/rfc822 MIME parts. These are counted separately from ordinary attachments and related items, and their indexes are zero-based. This example builds an inner email, attaches it to an outer email as a nested message, and prints the count.
Background: When you "forward as attachment," many mail clients embed the original message as a complete nested email rather than quoting its text. In MIME this appears as a
message/rfc822 part — an entire email (its own headers and body) tucked inside the carrier message. Chilkat distinguishes three kinds of enclosed content: ordinary attachments (NumAttachments), inline related items (NumRelatedItems), and these nested messages (NumAttachedMessages). Use GetAttachedEmail to pull an embedded message into its own Email object.Chilkat Perl Downloads
use strict;
use warnings;
use Chilkat2;
# Demonstrates the read-only Email.NumAttachedMessages property, which is the
# number of embedded emails (message/rfc822 MIME parts) contained in the email.
# Create an inner email that we'll attach as a complete nested message.
my $innerEmail = Chilkat2::Email->new;
$innerEmail->Subject('I am an attached message');
$innerEmail->Body('This entire email is nested inside another email.');
$innerEmail->From('alice@example.com');
$innerEmail->AddTo('Bob', 'bob@example.com');
# Create the outer email and attach the inner email directly as a
# message/rfc822 part. AttachEmail attaches a copy of the inner email.
my $email = Chilkat2::Email->new;
$email->Subject('Outer email with an attached message');
$email->Body('See the attached email.');
my $success = $email->AttachEmail($innerEmail);
print 'NumAttachedMessages = ', $email->NumAttachedMessages, "\n";