Sample code for 30+ languages & platforms
Perl

Create multipart/alternative MIME

See more MIME Examples

Demonstrates how to create a multipart/alternative MIME structure using the NewMultipartAlternative method.

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.

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

# Initialize it as multipart/alternative.
$mime->NewMultipartAlternative();

# 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 text/plain part looks like this:

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

# Create a text/HTML part.
my $htmlMime = Chilkat2::Mime->new;
$htmlMime->SetBodyFromHtml('<html><body><p>This is the <b>HTML body</b></p></body></html>');
print $htmlMime->GetMime(), "\n";
print "****\n";

# The text/html part looks like this:

#     Content-Type: text/html
#     Content-Transfer-Encoding: 7bit
#
#     <html><body><p>This is the <b>HTML body</b></p></body></html>

# Add both parts as children of the multipart/alternative
$mime->AppendPart($ptMime);
$mime->AppendPart($htmlMime);
print $mime->GetMime(), "\n";

# This the result.  The boundary string was automatically generaetd.

#     Content-Type: multipart/alternative; boundary="------------080803090906030708030908"
#
#     --------------080803090906030708030908
#     Content-Type: text/plain
#     Content-Transfer-Encoding: 7bit
#
#     This is the plain text body.
#     --------------080803090906030708030908
#     Content-Type: text/html
#     Content-Transfer-Encoding: 7bit
#
#     <html><body><p>This is the <b>HTML body</b></p></body></html>
#     --------------080803090906030708030908--