Sample code for 30+ languages & platforms
AutoIt

Parsing a Multipart/Digest Email

See more Email Object Examples

This example demonstrates how to parse a multipart/digest email. An email parsed by this sample could have a MIME structure as follows:
multipart/mixed
    text/plain
    text/plain
    multipart/digest
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
        message/rfc822
    text/plain

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

Local $sEmlPath = "qa_data/eml/multipart_digest.eml"

$oEmail = ObjCreate("Chilkat.Email")

; For this example, we'll load the email from a .eml.
; The email could alternatively be loaded as a result of downloading from an IMAP or POP3 server..

$bSuccess = $oEmail.LoadEml($sEmlPath)
If ($bSuccess = False) Then
    ConsoleWrite($oEmail.LastErrorText & @CRLF)
    Exit
EndIf

Local $iNumDigests = $oEmail.NumDigests
ConsoleWrite("num digests = " & $iNumDigests & @CRLF)

$oEDigest = ObjCreate("Chilkat.Email")
Local $i = 0
While $i < $iNumDigests
    $oEmail.GetDigestEmail($i,$oEDigest)
    ConsoleWrite($i & ":" & $oEDigest.FromAddress & ", " & $oEDigest.Subject & @CRLF)
Local $sM = $oEDigest.GetHeaderField("Message")
    If ($oEDigest.LastMethodSuccess = True) Then
        ConsoleWrite("    Message = " & $sM & @CRLF)
    EndIf

    $i = $i + 1
Wend