Sample code for 30+ languages & platforms
Visual FoxPro

Examing the MIME Nesting Structure

See more MIME Examples

Demonstrates the GetStructure method to examine the nesting structure of a MIME document. The MIME data file used in this example is available at MIME Sample File.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loMime
LOCAL lcTxtStruct
LOCAL lcXmlStruct

lnSuccess = 0

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

loMime = CreateObject('Chilkat.Mime')

lnSuccess = loMime.LoadMimeFile("qa_data/mime/sampleMime.txt")
IF (lnSuccess <> 1) THEN
    ? loMime.LastErrorText
    RELEASE loMime
    CANCEL
ENDIF

* Examine the structure in text format:
lcTxtStruct = loMime.GetStructure("text")
? lcTxtStruct

* The MIME structure as indented text is:
* multipart/alternative
*     text/plain
*     multipart/related
*         text/html
*         image/jpeg
* 

* Now examine the structure in XML format:
lcXmlStruct = loMime.GetStructure("xml")
? lcXmlStruct

* The MIME structure as XML is:
* <multipart-alternative>
*     <text-plain />
*     <multipart-related>
*         <text-html />
*         <image-jpeg />
*     </multipart-related>
* </multipart-alternative>

* --------------------------------------------------------------
* 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--
* 

RELEASE loMime