Sample code for 30+ languages & platforms
Perl

Append Part to MIME

See more MIME Examples

Demonstrates the AppendPart method for adding sub-parts to MIME.

Chilkat Perl Downloads

Chilkat2 Perl
use strict;
use warnings;
use Chilkat2;

my $success = 0;

# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

# Create a text/plain part.
my $ptMime = Chilkat2::Mime->new;
$ptMime->SetBodyFromPlainText('This is the plain text body');
print $ptMime->GetMime(), "\n";
print "****\n";

# The ptMime contains:
# ---------------------------------------
#     Content-Type: text/plain
#     Content-Transfer-Encoding: 7bit
#
#     This is the plain text body
# ---------------------------------------

# Start with an empty MIME object...
my $topLevelMime = Chilkat2::Mime->new;

# Initialize it to a multipart Content-Type.  We'll use multipart/mixed.
$topLevelMime->NewMultipartMixed();

# Append the ptMime as a child.
$topLevelMime->AppendPart($ptMime);
print $topLevelMime->GetMime(), "\n";
print "****\n";

# The topLevelMime contains:
# --------------------------
#     Content-Type: multipart/mixed; boundary="------------010907090104040508040404"
#
#     --------------010907090104040508040404
#     Content-Type: text/plain
#     Content-Transfer-Encoding: 7bit
#
#     This is the plain text body
#     --------------010907090104040508040404--
#

# IMPORTANT: A copy of the MIME passed in AppendPart is appended.
# Therefore, in this case, changing ptMime does not change the text/plain sub-part in topLevelMime.
# For example:
$ptMime->SetBody('this is the new plain text body.');
# topLevelMime is unchanged.
print $topLevelMime->GetMime(), "\n";
print "****\n";

# To change the content in topLevelMime, we must get the text/plain part.
# For example:

my $ptMime2 = Chilkat2::Mime->new;
$topLevelMime->PartAt(0, $ptMime2);

$ptMime2->SetBody('this is the new plain text body.');
# Now topLevelMime is changed.
print $topLevelMime->GetMime(), "\n";