Sample code for 30+ languages & platforms
Delphi DLL

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 Delphi DLL Downloads

Delphi DLL
var
success: Boolean;
source: HCkEmail;
xmlText: PWideChar;
email: HCkEmail;

begin
success := False;

//  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 := CkEmail_Create();
CkEmail_putSubject(source,'Source message');
CkEmail_putFrom(source,'alice@example.com');
CkEmail_putBody(source,'Hello!');
xmlText := CkEmail__getXml(source);

//  Load a new email object from the XML string.
email := CkEmail_Create();
success := CkEmail_SetFromXmlText(email,xmlText);
if (success = False) then
  begin
    Memo1.Lines.Add(CkEmail__lastErrorText(email));
    Exit;
  end;

Memo1.Lines.Add('Loaded subject: ' + CkEmail__subject(email));

CkEmail_Dispose(source);
CkEmail_Dispose(email);