Sample code for 30+ languages & platforms
Ruby

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 Ruby Downloads

Ruby
require 'chilkat'

success = false

mime = Chilkat::CkMime.new()

#  Create a multipart/mixed entity.
success = mime.NewMultipartMixed()
if (success == false)
    print mime.lastErrorText() + "\n";
    exit
end

#  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 false.
mime.put_UseMmDescription(true)

#  Add a simple part so the multipart has content.
part = Chilkat::CkMime.new()
success = part.SetBodyFromPlainText("First part.")
if (success == false)
    print part.lastErrorText() + "\n";
    exit
end

success = mime.AppendPart(part)
if (success == false)
    print mime.lastErrorText() + "\n";
    exit
end

print "Boundary = " + mime.boundary() + "\n";

mimeStr = mime.getMime()
if (mime.get_LastMethodSuccess() == false)
    print mime.lastErrorText() + "\n";
    exit
end

print mimeStr + "\n";