Sample code for 30+ languages & platforms
DataFlex

Get the HTML Body into a StringBuilder

See more Email Object Examples

Demonstrates the Chilkat Email.GetHtmlBodySb method, which returns the text/html body into a StringBuilder. If the first argument is true, the related images found in the MIME are inlined as base64 data URLs directly within the returned HTML. This example retrieves the HTML body without inlining images.

Background: The inline-images option is useful for producing self-contained HTML that displays correctly in a browser or web view without needing the separate related parts — each cid: reference is replaced by a data: URL holding the image bytes. Be aware this can substantially enlarge the HTML, since base64 embedding adds roughly a third to each image's size. Writing into a StringBuilder is efficient for that potentially large output.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoEmail
    Variant vSbHtml
    Handle hoSbHtml
    String sTemp1

    Move False To iSuccess

    //  Demonstrates the GetHtmlBodySb method, which returns the text/html body into a
    //  StringBuilder.  If the first argument is true, related images found in the MIME are
    //  inlined as base64 data URLs directly within the returned HTML.

    Get Create (RefClass(cComChilkatEmail)) To hoEmail
    If (Not(IsComObjectCreated(hoEmail))) Begin
        Send CreateComObject of hoEmail
    End
    Set ComSubject Of hoEmail To "GetHtmlBodySb example"

    Send ComSetHtmlBody To hoEmail "<html><body><b>Hello in HTML.</b></body></html>"

    //  Get the HTML body into a StringBuilder (false = do not inline related images).
    Get Create (RefClass(cComChilkatStringBuilder)) To hoSbHtml
    If (Not(IsComObjectCreated(hoSbHtml))) Begin
        Send CreateComObject of hoSbHtml
    End

    Get pvComObject of hoSbHtml to vSbHtml
    Get ComGetHtmlBodySb Of hoEmail False vSbHtml To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoEmail To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get ComGetAsString Of hoSbHtml To sTemp1
    Showln sTemp1


End_Procedure