Sample code for 30+ languages & platforms
PureBasic

Load an Email from a Chilkat XML String

See more Email Object Examples

Demonstrates the Chilkat Email.LoadXmlString method, which loads an email from a Chilkat XML representation held in a string, typically obtained from GetXml. On success, the loaded message replaces the entire current email. This example serializes one email to XML, then reconstructs it in a second object.

Background: This is the in-memory (string) counterpart to LoadXml, which reads from a file. Pairing GetXml with LoadXmlString lets you store an email's full state as text in a database column, cache, or message queue, then rebuild the Email object later — without touching the filesystem.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkEmail.pb"

Procedure ChilkatExample()

    success.i = 0

    ;  Demonstrates the LoadXmlString method, which loads an email from a Chilkat XML string
    ;  (typically obtained from GetXml).  On success, the loaded message replaces the entire
    ;  current email.

    ;  Create an email and serialize it to Chilkat XML (as GetXml would produce).
    source.i = CkEmail::ckCreate()
    If source.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkEmail::setCkSubject(source, "Saved email")
    CkEmail::setCkFrom(source, "alice@example.com")
    CkEmail::setCkBody(source, "Hello!")
    xmlStr.s = CkEmail::ckGetXml(source)

    ;  Load a new email object from the XML string.
    email.i = CkEmail::ckCreate()
    If email.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success = CkEmail::ckLoadXmlString(email,xmlStr)
    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