Sample code for 30+ languages & platforms
PureBasic

Load an Email from a Chilkat XML String

See more Email Object Examples

Demonstrates the Chilkat Email.SetFromXmlText method, which loads an email from a Chilkat XML string (as produced by GetXml). On success, it replaces the entire current email. This example serializes one email to XML, then reconstructs it in a second object.

Background: This loads Chilkat's XML email representation from a string — the in-memory counterpart to LoadXml. The XML format is an alternative to standard MIME, but for most purposes the MIME form (SetFromMimeText / GetMime) is preferred: it is interoperable and also preserves Chilkat's CKX- metadata headers (which are always removed before an email is sent), so the XML format offers no metadata advantage.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkEmail.pb"

Procedure ChilkatExample()

    success.i = 0

    ;  Demonstrates the SetFromXmlText method, which loads an email from a Chilkat XML string.
    ;  On success, it replaces the entire current email.

    ;  Build a source email and serialize it to Chilkat XML.
    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!")
    xmlText.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::ckSetFromXmlText(email,xmlText)
    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