Sample code for 30+ languages & platforms
DataFlex

Get an Attachment as a Text String

See more Email Object Examples

Demonstrates the Chilkat Email.GetAttachmentString method, which returns the Nth attachment's data as text. The first argument is the zero-based attachment index and the second is the charset used to interpret the attachment bytes. This example reads a text attachment as utf-8.

Background: Attachments are stored as bytes, so turning one back into a string requires knowing its charset — the rule for mapping bytes to characters. Supplying the correct charset (often utf-8) yields readable text; the wrong one produces garbled characters. This method is meant for text attachments such as .txt, .csv, or .xml; binary attachments should be handled as raw data instead.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Handle hoEmail
    Boolean iSuccess
    String sContent

    //  Demonstrates the GetAttachmentString method, which returns the Nth attachment's data as
    //  text.  The first argument is the zero-based attachment index and the second is the charset used to interpret
    //  the attachment bytes.

    Get Create (RefClass(cComChilkatEmail)) To hoEmail
    If (Not(IsComObjectCreated(hoEmail))) Begin
        Send CreateComObject of hoEmail
    End
    Set ComSubject Of hoEmail To "Attachment as text"

    Get ComAddStringAttachment Of hoEmail "notes.txt" "These are the notes stored in the attachment." To iSuccess

    //  Get the first attachment (index 0) as text, interpreting the bytes as utf-8.
    Get ComGetAttachmentString Of hoEmail 0 "utf-8" To sContent
    Showln "Attachment 0 text: " sContent


End_Procedure