Sample code for 30+ languages & platforms
PureBasic

Create MIME Containing HTML

See more MIME Examples

Calls SetBodyFromHtml to load HTML into the MIME body. Also sets the Content-Type header to "text/html", and the Content-Transfer-Encoding to an appropriate transfer encoding based on the characters found in the HTML.

Chilkat PureBasic Downloads

PureBasic
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.

    mime.i = CkMime::ckCreate()
    If mime.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    ; Add a few header fields:
    success = CkMime::ckAddHeaderField(mime,"Description","this is a test")
    success = CkMime::ckAddHeaderField(mime,"MyId","123")

    htmlDoc.s = "<html><body>Test</body></html>"

    ; Set the MIME body via SetBodyFromHtml.  This also
    ; has the intended side-effect of adding the Content-Type
    ; and Content-Transfer-Encoding headers.
    success = CkMime::ckSetBodyFromHtml(mime,htmlDoc)

    Debug CkMime::ckGetMime(mime)

    ; The MIME should look like this:

    ; Description: this is a test
    ; MyId: 123
    ; Content-Type: text/html; 
    ; Content-Transfer-Encoding: 7bit
    ; 
    ; <html><body>Test</body></html>

    ; Note: The Content-Transfer-Encoding may be changed.
    ; For example, to use "base64", do this:
    CkMime::setCkEncoding(mime, "base64")

    ; Show the MIME again, this time using the base64 
    ; transfer encoding:
    Debug CkMime::ckGetMime(mime)

    ; It should look like this:

    ; Description: this is a test
    ; MyId: 123
    ; Content-Type: text/html; 
    ; Content-Transfer-Encoding: base64
    ; 
    ; PGh0bWw+PGJvZHk+VGVzdDwvYm9keT48L2h0bWw+


    CkMime::ckDispose(mime)


    ProcedureReturn
EndProcedure