Sample code for 30+ languages & platforms
Xbase++

Create multipart/alternative MIME

See more MIME Examples

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

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oMime
LOCAL oPtMime
LOCAL oHtmlMime

nSuccess := 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...
oMime := CreateObject("Chilkat.Mime")

//  Initialize it as multipart/alternative.
oMime:NewMultipartAlternative()

//  Create a text/plain part.
oPtMime := CreateObject("Chilkat.Mime")
oPtMime:SetBodyFromPlainText("This is the plain text body.")
? oPtMime:GetMime()
? "****"

//  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.
oHtmlMime := CreateObject("Chilkat.Mime")
oHtmlMime:SetBodyFromHtml("<html><body><p>This is the <b>HTML body</b></p></body></html>")
? oHtmlMime:GetMime()
? "****"

//  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
oMime:AppendPart(oPtMime)
oMime:AppendPart(oHtmlMime)
? oMime:GetMime()

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

oMime:destroy()
oPtMime:destroy()
oHtmlMime:destroy()