Sample code for 30+ languages & platforms
DataFlex

GetEntireHead and GetEntireBody

See more MIME Examples

Demonstrates the GetEntireHead and GetEntireBody methods. The MIME data file used in this example is available at MIME Sample File.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoMime
    Variant vMpRelated
    Handle hoMpRelated
    Variant vPHtml
    Handle hoPHtml
    String sTemp1

    Move False To iSuccess

    // This example requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

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

    // The contents of this MIME file are shown below, 
    // and is also available at https://www.chilkatsoft.com/sampleMime.txt
    Get ComLoadMimeFile Of hoMime "qa_data/mime/sampleMime.txt" To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoMime To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // The MIME used in this example has the following nested structure
    // 
    // multipart/alternative
    //     text/plain
    //     multipart/related
    //         text/html
    //         image/jpeg
    // 

    // Let's get the entire MIME header for the multipart/html MIME part.

    Get Create (RefClass(cComChilkatMime)) To hoMpRelated
    If (Not(IsComObjectCreated(hoMpRelated))) Begin
        Send CreateComObject of hoMpRelated
    End
    Get pvComObject of hoMpRelated to vMpRelated
    Get ComPartAt Of hoMime 1 vMpRelated To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoMime To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get Create (RefClass(cComChilkatMime)) To hoPHtml
    If (Not(IsComObjectCreated(hoPHtml))) Begin
        Send CreateComObject of hoPHtml
    End
    Get pvComObject of hoPHtml to vPHtml
    Get ComPartAt Of hoMpRelated 0 vPHtml To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoMpRelated To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get ComGetEntireHead Of hoPHtml To sTemp1
    Showln sTemp1
    Showln "****"

    // The output is:
    //     Content-Type: text/html; charset="utf-8"
    //     Content-Transfer-Encoding: 8bit

    // Now get the entire body of the mulitpart/related subpart.
    // The entire body is the entire MIME body including sub-parts under the given part.
    Get ComGetEntireBody Of hoMpRelated To sTemp1
    Showln sTemp1

    // The entire multipart/related body is:
    // 
    // 	--------------A940F1230E6F0105F03DB2CB
    // 	Content-Type: text/html; charset=utf-8
    // 	Content-Transfer-Encoding: 8bit
    // 
    // 	<html><head>
    // 	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    // 	  </head>
    // 	  <body bgcolor="#FFFFFF" text="#000000">
    // 	    <p>This is a test.&nbsp; <img src="cid:part1.E16AE3B4.1505C436@chilkatsoft.com" height="20" width="20"></p>
    // 	  </body>
    // 	</html>
    // 
    // 	--------------A940F1230E6F0105F03DB2CB
    // 	Content-Type: image/jpeg; name="starfish20.jpg"
    // 	Content-Transfer-Encoding: base64
    // 	Content-ID: <part1.E16AE3B4.1505C436@chilkatsoft.com>
    // 	Content-Disposition: inline; filename="starfish20.jpg"
    // 
    // 	/9j/4AAQSkZJRgABAQEASABIAAD//gAmRmlsZSB3cml0dGVuIGJ5IEFkb2JlIFBob3Rvc2hvcD8g
    // 	...
    // 	...
    // 	EFH/2gAIAQEAAT8Qn3igmSZSj+c4N4zapMy9IjFV98wncN2iuLFsCEbDGxQkI6RO/n//2Q==
    // 
    // 	--------------A940F1230E6F0105F03DB2CB--
    // 

    // --------------------------------------------------------------
    // --------------------------------------------------------------
    // The MIME sample file loaded at the beginning of this example
    // contains the following MIME:

    // Subject: Test email.
    // Content-Type: multipart/alternative;
    // 	boundary="------------DB171738719FB06D67DEBAA0"
    // MIME-Version: 1.0
    // 
    // --------------DB171738719FB06D67DEBAA0
    // Content-Type: text/plain; charset="utf-8"; format=flowed
    // Content-Transfer-Encoding: 7bit
    // 
    // This is a test.
    // 
    // --------------DB171738719FB06D67DEBAA0
    // Content-Type: multipart/related;
    // 	boundary="------------A940F1230E6F0105F03DB2CB"
    // 
    // --------------A940F1230E6F0105F03DB2CB
    // Content-Type: text/html; charset="utf-8"
    // Content-Transfer-Encoding: 8bit
    // 
    // <html><head>
    // <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    //   </head>
    //   <body bgcolor="#FFFFFF" text="#000000">
    //     <p>This is a test.&nbsp; <img src="cid:part1.E16AE3B4.1505C436@chilkatsoft.com" height="20" width="20"></p>
    //   </body>
    // </html>
    // 
    // --------------A940F1230E6F0105F03DB2CB
    // Content-Type: image/jpeg; name="starfish20.jpg"
    // Content-Transfer-Encoding: base64
    // Content-ID: <part1.E16AE3B4.1505C436@chilkatsoft.com>
    // Content-Disposition: inline; filename="starfish20.jpg"
    // 
    // /9j/4AAQSkZJRgABAQEASABIAAD//gAmRmlsZSB3cml0dGVuIGJ5IEFkb2JlIFBob3Rvc2hvcD8g
    // NC4w/9sAQwAQCwwODAoQDg0OEhEQExgoGhgWFhgxIyUdKDozPTw5Mzg3QEhcTkBEV0U3OFBtUVdf
    // YmdoZz5NcXlwZHhcZWdj/9sAQwEREhIYFRgvGhovY0I4QmNjY2NjY2NjY2NjY2NjY2NjY2NjY2Nj
    // Y2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2Nj/8IAEQgAFAAUAwERAAIRAQMRAf/EABcAAAMBAAAA
    // AAAAAAAAAAAAAAIDBAX/xAAYAQADAQEAAAAAAAAAAAAAAAABAgMEAP/aAAwDAQACEAMQAAAB2kZY
    // NNEijWKddfTmLgALWH//xAAbEAACAgMBAAAAAAAAAAAAAAABAgMRAAQSE//aAAgBAQABBQL0XqN+
    // pM2aqJGMiqFFCyg7z//EABwRAAICAgMAAAAAAAAAAAAAAAERAAIQIQMSUf/aAAgBAwEBPwHqU5aq
    // Axx+y1tMQl4elj//xAAcEQEAAQUBAQAAAAAAAAAAAAABEQACEBIhA1H/2gAIAQIBAT8B3Bhqy7Zc
    // enyiwmGgDhiOzj//xAAdEAABAwUBAAAAAAAAAAAAAAABAAIREBIhIkFR/9oACAEBAAY/ArZyn+Cg
    // xtxWuJaoCnqDuin/xAAcEAABBAMBAAAAAAAAAAAAAAABABEhYRAxQVH/2gAIAQEAAT8hkEwPUUR9
    // DYfE4nxtRpIkBTsayuALIiuY/9oADAMBAAIAAwAAABDWPTsf/8QAGhEAAwADAQAAAAAAAAAAAAAA
    // AAEREDFBIf/aAAgBAwEBPxC0DVPcWm+Ce4OesrkE6bjH/8QAGBEBAQEBAQAAAAAAAAAAAAAAAREA
    // QRD/2gAIAQIBAT8QahMiOc8YgSrnTY3ELclHXn//xAAcEAEBAAIDAQEAAAAAAAAAAAABEQAhMUFx
    // EFH/2gAIAQEAAT8Qn3igmSZSj+c4N4zapMy9IjFV98wncN2iuLFsCEbDGxQkI6RO/n//2Q==
    // 
    // --------------A940F1230E6F0105F03DB2CB--
    // 
    // --------------DB171738719FB06D67DEBAA0--
    // 


End_Procedure