Sample code for 30+ languages & platforms
DataFlex

Get a Summary of the MIME Structure

See more MIME Examples

Demonstrates the Chilkat Mime.GetStructure method, which returns a concise summary of the MIME tree. The only argument selects the format: xml for XML, or text (the default for any other value) for a plain-text outline.

Note: The file paths are relative to the application's current working directory. Absolute paths may also be used. Supply the paths appropriate to your own environment.

Background: A real message can nest multipart containers several levels deep — a multipart/mixed holding a multipart/alternative of text and HTML plus attachments — and GetStructure renders that hierarchy at a glance without the full content. It is the fast way to understand or debug an unfamiliar message's layout, in either a readable text outline or machine-parseable XML.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoMime
    String sStructure
    String sTemp1
    Boolean bTemp1

    Move False To iSuccess

    //  Demonstrates the Mime.GetStructure method, which returns a concise summary of the MIME tree.
    //  The only argument selects the output format: "xml" for XML, or "text" (the default) for a
    //  plain-text outline.

    Get Create (RefClass(cComChilkatMime)) To hoMime
    If (Not(IsComObjectCreated(hoMime))) Begin
        Send CreateComObject of hoMime
    End

    Get ComLoadMimeFile Of hoMime "qa_data/multipart_message.eml" To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoMime To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    //  Get a human-readable text outline of the MIME structure.
    Get ComGetStructure Of hoMime "text" To sStructure
    Get ComLastMethodSuccess Of hoMime To bTemp1
    If (bTemp1 = False) Begin
        Get ComLastErrorText Of hoMime To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Showln sStructure


End_Procedure