Sample code for 30+ languages & platforms
PowerShell

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 PowerShell Downloads

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

$success = $false

$emlPath = "qa_data/eml/multipart_digest.eml"

$email = New-Object 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..

$success = $email.LoadEml($emlPath)
if ($success -eq $false) {
    $($email.LastErrorText)
    exit
}

$numDigests = $email.NumDigests
$("num digests = " + $numDigests)

$eDigest = New-Object Chilkat.Email
$i = 0
while ($i -lt $numDigests) {
    $email.GetDigestEmail($i,$eDigest)
    $([string]$i + ":" + $eDigest.FromAddress + ", " + $eDigest.Subject)
    $m = $eDigest.GetHeaderField("Message")
    if ($eDigest.LastMethodSuccess -eq $true) {
        $("    Message = " + $m)
    }

    $i = $i + 1
}