Sample code for 30+ languages & platforms
PureBasic

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

PureBasic
IncludeFile "CkEmail.pb"

Procedure ChilkatExample()

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

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

    CkEmail::setCkSubject(email, "Attachment as text")

    CkEmail::ckAddStringAttachment(email,"notes.txt","These are the notes stored in the attachment.")

    ;  Get the first attachment (index 0) as text, interpreting the bytes as utf-8.
    content.s = CkEmail::ckGetAttachmentString(email,0,"utf-8")
    Debug "Attachment 0 text: " + content


    CkEmail::ckDispose(email)


    ProcedureReturn
EndProcedure