PureBasic
PureBasic
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 PureBasic Downloads
IncludeFile "CkBinData.pb"
IncludeFile "CkEmail.pb"
Procedure ChilkatExample()
success.i = 0
; 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.
source.i = CkEmail::ckCreate()
If source.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkEmail::setCkSubject(source, "Source message")
CkEmail::setCkFrom(source, "alice@example.com")
CkEmail::setCkBody(source, "Hello from a BinData.")
bdMime.i = CkBinData::ckCreate()
If bdMime.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkEmail::ckGetMimeBd(source,bdMime)
; Load a new email object from the BinData MIME.
email.i = CkEmail::ckCreate()
If email.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkEmail::ckSetFromMimeBd(email,bdMime)
If success = 0
Debug CkEmail::ckLastErrorText(email)
CkEmail::ckDispose(source)
CkBinData::ckDispose(bdMime)
CkEmail::ckDispose(email)
ProcedureReturn
EndIf
Debug "Loaded subject: " + CkEmail::ckSubject(email)
CkEmail::ckDispose(source)
CkBinData::ckDispose(bdMime)
CkEmail::ckDispose(email)
ProcedureReturn
EndProcedure