Sample code for 30+ languages & platforms
DataFlex

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

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Handle hoEmail
    Boolean iSuccess
    String sFname

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

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

    Get ComAddStringAttachment Of hoEmail "notes.txt" "Some notes." To iSuccess

    //  Get the "filename" attribute of the attachment's Content-Disposition header (index 0).
    Get ComGetAttachmentAttr Of hoEmail 0 "Content-Disposition" "filename" To sFname
    Showln "Attachment filename attribute: " sFname


End_Procedure