Sample code for 30+ languages & platforms
DataFlex

Get a Digest Message as an Email Object

See more Email Object Examples

Demonstrates the Chilkat Email.GetDigestEmail method, which copies the Nth digest email contained within a multipart/digest into another Email object. The first digest is at index 0; the NumDigests property gives the count. This example loads a digest email and lists each bundled message's subject.

Background: A multipart/digest packs many separate emails into one carrier message — historically used by mailing lists to send a single daily bundle of that day's posts. GetDigestEmail unpacks each member into a full Email object so it can be read or processed individually. This differs from GetAttachedEmail, which extracts messages attached to an ordinary email rather than the members of a digest.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoEmail
    Integer n
    Variant vDigestEmail
    Handle hoDigestEmail
    Integer i
    String sTemp1

    Move False To iSuccess

    //  Demonstrates the GetDigestEmail method, which copies the Nth digest email contained
    //  within a multipart/digest into another Email object.  The first digest is at index 0;
    //  use the NumDigests property for the count.

    Get Create (RefClass(cComChilkatEmail)) To hoEmail
    If (Not(IsComObjectCreated(hoEmail))) Begin
        Send CreateComObject of hoEmail
    End

    Get ComLoadEml Of hoEmail "qa_data/eml/digest.eml" To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoEmail To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get ComNumDigests Of hoEmail To n
    Showln "NumDigests = " n

    //  Retrieve each bundled message as its own Email object.
    Get Create (RefClass(cComChilkatEmail)) To hoDigestEmail
    If (Not(IsComObjectCreated(hoDigestEmail))) Begin
        Send CreateComObject of hoDigestEmail
    End

    For i From 0 To (n - 1)
        Get pvComObject of hoDigestEmail to vDigestEmail
        Get ComGetDigestEmail Of hoEmail i vDigestEmail To iSuccess
        Get ComSubject Of hoDigestEmail To sTemp1
        Showln "Digest " i " subject: " sTemp1
    Loop

    //  Note: The path "qa_data/..." is a relative local filesystem path,
    //  relative to the current working directory of the running application.


End_Procedure