Sample code for 30+ languages & platforms
PureBasic

Add a String Attachment with a Specified Charset

See more Email Object Examples

Demonstrates the Chilkat Email.AddStringAttachment2 method, which adds a text attachment directly from an in-memory string and encodes it using a specified charset. The first argument is the attachment filename placed in the MIME (it is not a path to an existing file), the second is the text content, and the third is the charset used to encode the string. This example attaches a UTF-8 encoded text file.

Background: This is the charset-aware version of AddStringAttachment. Because text must be converted to bytes before it travels in a MIME part, the charset determines how non-ASCII characters (accents, non-Latin scripts) are represented. utf-8 is the safe modern default that can encode any character; the third argument may also begin with bom- or no-bom- to control whether a byte-order mark is written.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkEmail.pb"

Procedure ChilkatExample()

    ;  Demonstrates the AddStringAttachment2 method, which adds a text attachment from an
    ;  in-memory string and encodes it using a specified charset.  The first argument is the
    ;  attachment filename (not a path to read), the second is the content, 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 charset-encoded string attachment")
    CkEmail::setCkBody(email, "See the attached text file.")

    ;  Add a string attachment named "notes.txt", encoding the content as utf-8.
    CkEmail::ckAddStringAttachment2(email,"notes.txt","Some notes with accented text.","utf-8")

    Debug "NumAttachments = " + Str(CkEmail::ckNumAttachments(email))


    CkEmail::ckDispose(email)


    ProcedureReturn
EndProcedure