Sample code for 30+ languages & platforms
PureBasic

Add a Related String Addressed by Name

See more Email Object Examples

Demonstrates the Chilkat Email.AddRelatedString2 method, which adds a related item from an in-memory string, addressed by the name used in the HTML rather than by a generated Content-ID. The first argument should match the filename used in an HTML img src or a stylesheet link href; the second is the Unicode content; the third is the charset it is converted to. Related items are images and style sheets embedded to support the HTML display — they are not attachments. This example embeds a CSS style sheet referenced as styles.css.

Background: This is the string-based, Content-Location counterpart to AddRelatedString. Instead of the HTML pointing at a cid: URL, it keeps a natural reference like href="styles.css", and the related part is matched to it by name. That makes it a good fit when you are turning existing web content into email and want the original relative references to keep working without rewriting them.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkEmail.pb"

Procedure ChilkatExample()

    ;  Demonstrates the AddRelatedString2 method, which adds a related item to the email from
    ;  an in-memory string, addressed by the name used in the HTML (Content-Location).  The first
    ;  argument is the filename used in the HTML reference, the second is the content, and the
    ;  third is the charset.

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

    CkEmail::setCkSubject(email, "Email with a related style sheet (by name)")

    ;  The HTML references the style sheet by the same name used for the related item.
    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 style sheet as a related item addressed by the name used in the HTML.
    CkEmail::ckAddRelatedString2(email,"styles.css","body { color: navy; }","utf-8")

    Debug "NumRelatedItems = " + Str(CkEmail::ckNumRelatedItems(email))


    CkEmail::ckDispose(email)


    ProcedureReturn
EndProcedure