PureBasic
PureBasic
Create multipart/alternative MIME
See more MIME Examples
Demonstrates how to create a multipart/alternative MIME structure using the NewMultipartAlternative method.Chilkat PureBasic Downloads
IncludeFile "CkMime.pb"
Procedure ChilkatExample()
success.i = 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...
mime.i = CkMime::ckCreate()
If mime.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; Initialize it as multipart/alternative.
CkMime::ckNewMultipartAlternative(mime)
; Create a text/plain part.
ptMime.i = CkMime::ckCreate()
If ptMime.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkMime::ckSetBodyFromPlainText(ptMime,"This is the plain text body.")
Debug CkMime::ckGetMime(ptMime)
Debug "****"
; 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.
htmlMime.i = CkMime::ckCreate()
If htmlMime.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkMime::ckSetBodyFromHtml(htmlMime,"<html><body><p>This is the <b>HTML body</b></p></body></html>")
Debug CkMime::ckGetMime(htmlMime)
Debug "****"
; 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::ckAppendPart(mime,ptMime)
CkMime::ckAppendPart(mime,htmlMime)
Debug CkMime::ckGetMime(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--
CkMime::ckDispose(mime)
CkMime::ckDispose(ptMime)
CkMime::ckDispose(htmlMime)
ProcedureReturn
EndProcedure