DataFlex
DataFlex
Append Part to MIME
See more MIME Examples
Demonstrates the AppendPart method for adding sub-parts to MIME.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Variant vPtMime
Handle hoPtMime
Handle hoTopLevelMime
Variant vPtMime2
Handle hoPtMime2
String sTemp1
Move False To iSuccess
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// 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 ptMime contains:
// ---------------------------------------
// Content-Type: text/plain
// Content-Transfer-Encoding: 7bit
//
// This is the plain text body
// ---------------------------------------
// Start with an empty MIME object...
Get Create (RefClass(cComChilkatMime)) To hoTopLevelMime
If (Not(IsComObjectCreated(hoTopLevelMime))) Begin
Send CreateComObject of hoTopLevelMime
End
// Initialize it to a multipart Content-Type. We'll use multipart/mixed.
Get ComNewMultipartMixed Of hoTopLevelMime To iSuccess
// Append the ptMime as a child.
Get pvComObject of hoPtMime to vPtMime
Get ComAppendPart Of hoTopLevelMime vPtMime To iSuccess
Get ComGetMime Of hoTopLevelMime To sTemp1
Showln sTemp1
Showln "****"
// The topLevelMime contains:
// --------------------------
// Content-Type: multipart/mixed; boundary="------------010907090104040508040404"
//
// --------------010907090104040508040404
// Content-Type: text/plain
// Content-Transfer-Encoding: 7bit
//
// This is the plain text body
// --------------010907090104040508040404--
//
// IMPORTANT: A copy of the MIME passed in AppendPart is appended.
// Therefore, in this case, changing ptMime does not change the text/plain sub-part in topLevelMime.
// For example:
Send ComSetBody To hoPtMime "this is the new plain text body."
// topLevelMime is unchanged.
Get ComGetMime Of hoTopLevelMime To sTemp1
Showln sTemp1
Showln "****"
// To change the content in topLevelMime, we must get the text/plain part.
// For example:
Get Create (RefClass(cComChilkatMime)) To hoPtMime2
If (Not(IsComObjectCreated(hoPtMime2))) Begin
Send CreateComObject of hoPtMime2
End
Get pvComObject of hoPtMime2 to vPtMime2
Get ComPartAt Of hoTopLevelMime 0 vPtMime2 To iSuccess
Send ComSetBody To hoPtMime2 "this is the new plain text body."
// Now topLevelMime is changed.
Get ComGetMime Of hoTopLevelMime To sTemp1
Showln sTemp1
End_Procedure