Sample code for 30+ languages & platforms
PureBasic

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

PureBasic
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkEmail.pb"

Procedure ChilkatExample()

    success.i = 0

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

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

    CkEmail::setCkSubject(email, "GetHtmlBodySb example")

    CkEmail::ckSetHtmlBody(email,"<html><body><b>Hello in HTML.</b></body></html>")

    ;  Get the HTML body into a StringBuilder (false = do not inline related images).
    sbHtml.i = CkStringBuilder::ckCreate()
    If sbHtml.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success = CkEmail::ckGetHtmlBodySb(email,0,sbHtml)
    If success = 0
        Debug CkEmail::ckLastErrorText(email)
        CkEmail::ckDispose(email)
        CkStringBuilder::ckDispose(sbHtml)
        ProcedureReturn
    EndIf

    Debug CkStringBuilder::ckGetAsString(sbHtml)


    CkEmail::ckDispose(email)
    CkStringBuilder::ckDispose(sbHtml)


    ProcedureReturn
EndProcedure