DataFlex
DataFlex
Create multipart/alternative MIME
See more MIME Examples
Demonstrates how to create a multipart/alternative MIME structure using the NewMultipartAlternative method.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoMime
Variant vPtMime
Handle hoPtMime
Variant vHtmlMime
Handle hoHtmlMime
String sTemp1
Move False To iSuccess
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// Start with an empty MIME object...
Get Create (RefClass(cComChilkatMime)) To hoMime
If (Not(IsComObjectCreated(hoMime))) Begin
Send CreateComObject of hoMime
End
// Initialize it as multipart/alternative.
Get ComNewMultipartAlternative Of hoMime To iSuccess
// Create a text/plain part.
Get Create (RefClass(cComChilkatMime)) To hoPtMime
If (Not(IsComObjectCreated(hoPtMime))) Begin
Send CreateComObject of hoPtMime
End
Get ComSetBodyFromPlainText Of hoPtMime "This is the plain text body." To iSuccess
Get ComGetMime Of hoPtMime To sTemp1
Showln sTemp1
Showln "****"
// 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.
Get Create (RefClass(cComChilkatMime)) To hoHtmlMime
If (Not(IsComObjectCreated(hoHtmlMime))) Begin
Send CreateComObject of hoHtmlMime
End
Get ComSetBodyFromHtml Of hoHtmlMime "<html><body><p>This is the <b>HTML body</b></p></body></html>" To iSuccess
Get ComGetMime Of hoHtmlMime To sTemp1
Showln sTemp1
Showln "****"
// 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
Get pvComObject of hoPtMime to vPtMime
Get ComAppendPart Of hoMime vPtMime To iSuccess
Get pvComObject of hoHtmlMime to vHtmlMime
Get ComAppendPart Of hoMime vHtmlMime To iSuccess
Get ComGetMime Of hoMime To sTemp1
Showln sTemp1
// 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--
End_Procedure