Sample code for 30+ languages & platforms
DataFlex

Load an Email from MIME in a BinData

See more Email Object Examples

Demonstrates the Chilkat Email.SetFromMimeBd method, which loads an email from the MIME stored in a BinData object. On success, it replaces the entire current email. This example serializes one email into a BinData with GetMimeBd, then reconstructs it in a second object.

Background: This is the binary counterpart to SetFromMimeText and SetFromMimeSb. When a message's raw MIME arrives as bytes — read from a file, a socket, or a database blob into a BinData — loading it directly avoids any lossy or awkward byte-to-text conversion, which matters because MIME can carry binary transfer encodings.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoSource
    Variant vBdMime
    Handle hoBdMime
    Handle hoEmail
    String sTemp1

    Move False To iSuccess

    //  Demonstrates the SetFromMimeBd method, which loads an email from MIME stored in a BinData
    //  object.  On success, it replaces the entire current email.

    //  Build a source email and serialize its MIME into a BinData.
    Get Create (RefClass(cComChilkatEmail)) To hoSource
    If (Not(IsComObjectCreated(hoSource))) Begin
        Send CreateComObject of hoSource
    End
    Set ComSubject Of hoSource To "Source message"
    Set ComFrom Of hoSource To "alice@example.com"
    Set ComBody Of hoSource To "Hello from a BinData."
    Get Create (RefClass(cComChilkatBinData)) To hoBdMime
    If (Not(IsComObjectCreated(hoBdMime))) Begin
        Send CreateComObject of hoBdMime
    End
    Get pvComObject of hoBdMime to vBdMime
    Get ComGetMimeBd Of hoSource vBdMime To iSuccess

    //  Load a new email object from the BinData MIME.
    Get Create (RefClass(cComChilkatEmail)) To hoEmail
    If (Not(IsComObjectCreated(hoEmail))) Begin
        Send CreateComObject of hoEmail
    End

    Get pvComObject of hoBdMime to vBdMime
    Get ComSetFromMimeBd Of hoEmail vBdMime To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoEmail To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get ComSubject Of hoEmail To sTemp1
    Showln "Loaded subject: " sTemp1


End_Procedure