Sample code for 30+ languages & platforms
Tcl

Create multipart/alternative MIME

See more MIME Examples

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

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set 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...
set mime [new_CkMime]

# Initialize it as multipart/alternative.
CkMime_NewMultipartAlternative $mime

# Create a text/plain part.
set ptMime [new_CkMime]

CkMime_SetBodyFromPlainText $ptMime "This is the plain text body."
puts [CkMime_getMime $ptMime]
puts "****"

# 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.
set htmlMime [new_CkMime]

CkMime_SetBodyFromHtml $htmlMime "<html><body><p>This is the <b>HTML body</b></p></body></html>"
puts [CkMime_getMime $htmlMime]
puts "****"

# 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
CkMime_AppendPart $mime $ptMime
CkMime_AppendPart $mime $htmlMime
puts [CkMime_getMime $mime]

# 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--

delete_CkMime $mime
delete_CkMime $ptMime
delete_CkMime $htmlMime