Sample code for 30+ languages & platforms
PureBasic

Add a Custom Header to an Email Attachment

See more Email Object Examples

Demonstrates the Chilkat Email.AddAttachmentHeader method, which adds a custom MIME header field to an existing attachment identified by its zero-based index. This example adds an attachment (which becomes index 0), then attaches an extra header field to it and prints the resulting MIME.

Background: In MIME, every attachment is itself a mini-message with its own small block of headers — things like Content-Type, Content-Disposition, and Content-Transfer-Encoding that describe that specific part. AddAttachmentHeader lets you insert additional fields into that per-part header block, which is occasionally needed for interoperability with systems that look for custom X- headers or content identifiers on individual attachments.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkEmail.pb"

Procedure ChilkatExample()

    ;  Demonstrates the AddAttachmentHeader method, which adds a custom MIME header field to
    ;  an existing attachment, identified by its zero-based index.

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

    CkEmail::setCkSubject(email, "Attachment with a custom header")
    CkEmail::setCkBody(email, "The attachment has an extra MIME header.")

    ;  Add an attachment; it becomes attachment index 0.
    CkEmail::ckAddStringAttachment(email,"data.txt","Attachment body.")

    ;  Add a custom header field to the first attachment (index 0).
    CkEmail::ckAddAttachmentHeader(email,0,"X-Custom-Attachment-Header","some value")

    ;  The custom header now appears in the attachment's MIME part.
    Debug CkEmail::ckGetMime(email)


    CkEmail::ckDispose(email)


    ProcedureReturn
EndProcedure