Sample code for 30+ languages & platforms
DataFlex

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 DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoMime
    String sHtmlDoc
    String sTemp1

    Move False To iSuccess

    // This example requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    Get Create (RefClass(cComChilkatMime)) To hoMime
    If (Not(IsComObjectCreated(hoMime))) Begin
        Send CreateComObject of hoMime
    End

    // Add a few header fields:
    Get ComAddHeaderField Of hoMime "Description" "this is a test" To iSuccess
    Get ComAddHeaderField Of hoMime "MyId" "123" To iSuccess

    Move "<html><body>Test</body></html>" To sHtmlDoc

    // Set the MIME body via SetBodyFromHtml.  This also
    // has the intended side-effect of adding the Content-Type
    // and Content-Transfer-Encoding headers.
    Get ComSetBodyFromHtml Of hoMime sHtmlDoc To iSuccess

    Get ComGetMime Of hoMime To sTemp1
    Showln sTemp1

    // 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:
    Set ComEncoding Of hoMime To "base64"

    // Show the MIME again, this time using the base64 
    // transfer encoding:
    Get ComGetMime Of hoMime To sTemp1
    Showln sTemp1

    // It should look like this:

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


End_Procedure