Sample code for 30+ languages & platforms
DataFlex

Get the Content-Type of the Nth Matching Part

See more Email Object Examples

Demonstrates the Chilkat Email.GetNthContentType method, which returns the Content-Type of the Nth non-multipart MIME part matching a content-type pattern. The first argument is the zero-based index among the matching parts, the second is the pattern (exact or wildcard), the third is an inlineOnly flag, and the fourth is an excludeAttachments flag. This example reads the content type of the first text/* part.

Background: Where GetNthTextPartOfType returns a matching part's content, GetNthContentType returns its exact type. A wildcard pattern like text/* can match several parts (say text/plain and text/html), so pairing this with GetNumPartsOfType lets you enumerate the parts and learn precisely what each one is before fetching it.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Handle hoEmail
    Boolean iSuccess
    String sCt

    //  Demonstrates the GetNthContentType method, which returns the Content-Type of the Nth
    //  non-multipart MIME part matching a Content-Type pattern.  The first argument is the
    //  zero-based index among matching parts, the second is the pattern, the third is inlineOnly,
    //  and the fourth is excludeAttachments.

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

    Send ComSetTextBody To hoEmail "This is the plain-text version." "text/plain"
    Get ComAddHtmlAlternativeBody Of hoEmail "<html><body>This is the HTML version.</body></html>" To iSuccess

    //  Get the content type of the first (index 0) part matching text/*.
    Get ComGetNthContentType Of hoEmail 0 "text/*" False False To sCt
    Showln "First text/* part content type: " sCt


End_Procedure