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

Perl
use chilkat();

$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.
$ptMime = chilkat::CkMime->new();
$ptMime->SetBodyFromPlainText("This is the plain text body");
print $ptMime->getMime() . "\r\n";
print "****" . "\r\n";

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

# Start with an empty MIME object...
$topLevelMime = chilkat::CkMime->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() . "\r\n";
print "****" . "\r\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() . "\r\n";
print "****" . "\r\n";

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

$ptMime2 = chilkat::CkMime->new();
$topLevelMime->PartAt(0,$ptMime2);

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