Sample code for 30+ languages & platforms
PureBasic

Get a Header Attribute of an Attachment

See more Email Object Examples

Demonstrates the Chilkat Email.GetAttachmentAttr method, which returns a header-field attribute value from a header field of the Nth attachment. The first argument is the zero-based attachment index, the second names a header field, and the third names an attribute within it. This example reads the filename attribute of the attachment's Content-Disposition header.

Background: A MIME header can have named parameters after its main value, such as Content-Type: text/plain; charset="utf-8"; name="notes.txt". Here charset and name are attributes. GetAttachmentAttr pulls out one named attribute from a chosen header of a specific attachment, sparing you from parsing the raw header string and dealing with quoting or ordering.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkEmail.pb"

Procedure ChilkatExample()

    ;  Demonstrates the GetAttachmentAttr method, which returns a header-field attribute value
    ;  from a header field of the Nth attachment.  The first argument is the zero-based attachment
    ;  index, the second is the header field name, and the third is the attribute name.

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

    CkEmail::setCkSubject(email, "Attachment header attribute")

    CkEmail::ckAddStringAttachment(email,"notes.txt","Some notes.")

    ;  Get the "filename" attribute of the attachment's Content-Disposition header (index 0).
    fname.s = CkEmail::ckGetAttachmentAttr(email,0,"Content-Disposition","filename")
    Debug "Attachment filename attribute: " + fname


    CkEmail::ckDispose(email)


    ProcedureReturn
EndProcedure