Sample code for 30+ languages & platforms
Perl

MIME Multipart Boundary and Preamble Properties

See more MIME Examples

Demonstrates the Boundary property, which gets or sets the raw boundary token of a multipart entity (without surrounding quotation marks), and UseMmDescription, which controls whether the conventional preamble text is emitted when serializing a multipart entity.

Background. A multipart boundary separates the constituent parts. Chilkat quotes the token automatically in the header when required. The preamble is ignored by MIME-aware readers and is off by default.

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

$mime = chilkat::CkMime->new();

#  Create a multipart/mixed entity.
$success = $mime->NewMultipartMixed();
if ($success == 0) {
    print $mime->lastErrorText() . "\r\n";
    exit;
}

#  Boundary is the raw boundary token, without surrounding quotation marks.  Chilkat quotes it
#  automatically in the serialized header when required.
$mime->put_Boundary("example-boundary");

#  UseMmDescription controls whether the conventional preamble text
#  "This is a multi-part message in MIME format." is emitted.  The default is 0.
$mime->put_UseMmDescription(1);

#  Add a simple part so the multipart has content.
$part = chilkat::CkMime->new();
$success = $part->SetBodyFromPlainText("First part.");
if ($success == 0) {
    print $part->lastErrorText() . "\r\n";
    exit;
}

$success = $mime->AppendPart($part);
if ($success == 0) {
    print $mime->lastErrorText() . "\r\n";
    exit;
}

print "Boundary = " . $mime->boundary() . "\r\n";

$mimeStr = $mime->getMime();
if ($mime->get_LastMethodSuccess() == 0) {
    print $mime->lastErrorText() . "\r\n";
    exit;
}

print $mimeStr . "\r\n";