Sample code for 30+ languages & platforms
PureBasic

Get a Related Item as Text

See more Email Object Examples

Demonstrates the Chilkat Email.GetRelatedString method, which returns the text of a related item (with CR line-endings), interpreting the item's bytes using the supplied charset. It is intended for text-based related items such as style sheets. The first argument is the zero-based related-item index and the second is the charset. This example reads an embedded CSS style sheet as text.

Background: Not every related item is a binary image — some are text, like a CSS style sheet embedded so the HTML renders consistently offline. For those, GetRelatedString decodes the bytes back to characters using the charset you specify (typically utf-8). For binary related items such as images, read the raw data via the BinData-based accessor instead. This variant normalizes line endings to bare CR; use GetRelatedStringCrLf when you need CRLF.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkEmail.pb"

Procedure ChilkatExample()

    ;  Demonstrates the GetRelatedString method, which returns the text of a related item (with
    ;  CR line-endings), interpreting the bytes using the specified charset.  This is intended
    ;  for text-based related items such as style sheets.  The index is zero-based.

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

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

    ;  The HTML references a related style sheet by name (Content-Location).
    CkEmail::ckSetHtmlBody(email,"<html><head><link rel=" + Chr(34) + "stylesheet" + Chr(34) + " href=" + Chr(34) + "styles.css" + Chr(34) + "/></head><body>Styled.</body></html>")

    ;  Add the related style sheet (index 0).
    CkEmail::ckAddRelatedString2(email,"styles.css","body { color: navy; }","utf-8")

    ;  Get the first related item (index 0) as text, interpreting the bytes as utf-8.
    content.s = CkEmail::ckGetRelatedString(email,0,"utf-8")
    Debug "Related item 0 text: " + content


    CkEmail::ckDispose(email)


    ProcedureReturn
EndProcedure