PureBasic
PureBasic
Load an Email from MIME Text in a String
See more Email Object Examples
Demonstrates the Chilkat Email.SetFromMimeText method, which loads the email from MIME text (such as the contents of a .eml file) held in a string. On success, it replaces the entire current email. This example serializes one email to MIME with GetMime, then reconstructs it in a second object.
Background: This is the in-memory (string) counterpart to
LoadEml, which reads MIME from a file. It is handy when the raw message text arrives from somewhere other than the filesystem — a database column, an HTTP response, or a message queue — letting you parse it straight into a fully populated Email object.Chilkat PureBasic Downloads
IncludeFile "CkEmail.pb"
Procedure ChilkatExample()
success.i = 0
; Demonstrates the SetFromMimeText method, which loads the email from MIME text (such as
; the contents of a .eml file) held in a string. On success, it replaces the entire
; current email.
; Build a source email and get its MIME text.
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 MIME text.")
mimeText.s = CkEmail::ckGetMime(source)
; Load a new email object from the MIME text.
email.i = CkEmail::ckCreate()
If email.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkEmail::ckSetFromMimeText(email,mimeText)
If success = 0
Debug CkEmail::ckLastErrorText(email)
CkEmail::ckDispose(source)
CkEmail::ckDispose(email)
ProcedureReturn
EndIf
Debug "Loaded subject: " + CkEmail::ckSubject(email)
CkEmail::ckDispose(source)
CkEmail::ckDispose(email)
ProcedureReturn
EndProcedure