Sample code for 30+ languages & platforms
Delphi DLL

Make a Copy of an Email

See more Email Object Examples

Demonstrates the Chilkat Email.MakeCopy method, which copies the entire state of this email into another Email object — message content, recipients, headers, body representations, attachments, and related items. This example copies an email and reads a couple of fields from the copy.

Background: A deep copy gives you an independent duplicate: changes to one object do not affect the other. This is handy for template-and-tweak workflows — build a base message once, copy it per recipient, then vary only the recipient or a few fields — without risk of one send's edits bleeding into the next.

Chilkat Delphi DLL Downloads

Delphi DLL
var
success: Boolean;
email: HCkEmail;
copy: HCkEmail;

begin
success := False;

//  Demonstrates the MakeCopy method, which copies the entire state of this email into
//  another Email object -- message content, recipients, headers, bodies, attachments, and
//  related items.

email := CkEmail_Create();
CkEmail_putSubject(email,'Original');
CkEmail_putFrom(email,'alice@example.com');
CkEmail_AddTo(email,'Bob','bob@example.com');
CkEmail_putBody(email,'Original body.');

//  Copy the entire email into a new Email object.
copy := CkEmail_Create();

success := CkEmail_MakeCopy(email,copy);
if (success = False) then
  begin
    Memo1.Lines.Add(CkEmail__lastErrorText(email));
    Exit;
  end;

Memo1.Lines.Add('Copy subject: ' + CkEmail__subject(copy));
Memo1.Lines.Add('Copy NumTo: ' + IntToStr(CkEmail_getNumTo(copy)));

CkEmail_Dispose(email);
CkEmail_Dispose(copy);