Sample code for 30+ languages & platforms
PureBasic

Add a String Attachment to an Email

See more Email Object Examples

Demonstrates the Chilkat Email object's AddStringAttachment method, which adds an attachment directly from an in-memory string — no file needs to exist on disk. The 1st argument is the filename that is written into the MIME (it is not a path to a file that is read), and the 2nd argument is the text that becomes the attachment's body. In this example we build a simple email, attach a small CSV file named people.csv straight from a string, and then print the resulting MIME so you can see the attachment embedded in the message.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkEmail.pb"

Procedure ChilkatExample()

    ;  This example demonstrates the Email object's AddStringAttachment method.
    ;  AddStringAttachment adds an attachment directly from an in-memory string.
    ;  The 1st argument is the filename to be placed in the MIME (not a file to be read).
    ;  The 2nd argument is the text content that becomes the attachment body.

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

    CkEmail::setCkSubject(email, "Email with a string attachment")
    CkEmail::setCkBody(email, "See the attached CSV file.")
    CkEmail::setCkFrom(email, "mary@example.com")
    CkEmail::ckAddTo(email,"Joe","joe@example.com")

    ;  The text content of the attachment.
    csvData.s = "id,name" + Chr(13) + Chr(10) + "1,Alice" + Chr(13) + Chr(10) + "2,Bob" + Chr(13) + Chr(10)

    ;  Add the string as an attachment named "people.csv".
    CkEmail::ckAddStringAttachment(email,"people.csv",csvData)

    ;  Show the full MIME of the email, which now includes the attachment.
    Debug CkEmail::ckGetMime(email)


    CkEmail::ckDispose(email)


    ProcedureReturn
EndProcedure