Sample code for 30+ languages & platforms
DataFlex

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

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Handle hoEmail
    Boolean iSuccess
    Integer iTemp1

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

    Get Create (RefClass(cComChilkatEmail)) To hoEmail
    If (Not(IsComObjectCreated(hoEmail))) Begin
        Send CreateComObject of hoEmail
    End
    Set ComSubject Of hoEmail To "Email with a charset-encoded string attachment"
    Set ComBody Of hoEmail To "See the attached text file."

    //  Add a string attachment named "notes.txt", encoding the content as utf-8.
    Get ComAddStringAttachment2 Of hoEmail "notes.txt" "Some notes with accented text." "utf-8" To iSuccess

    Get ComNumAttachments Of hoEmail To iTemp1
    Showln "NumAttachments = " iTemp1


End_Procedure