Sample code for 30+ languages & platforms
Lianja

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 Lianja Downloads

Lianja
llSuccess = .F.

//  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.

loEmail = createobject("CkEmail")
loEmail.Subject = "Original"
loEmail.From = "alice@example.com"
loEmail.AddTo("Bob","bob@example.com")
loEmail.Body = "Original body."

//  Copy the entire email into a new Email object.
loCopy = createobject("CkEmail")

llSuccess = loEmail.MakeCopy(loCopy)
if (llSuccess = .F.) then
    ? loEmail.LastErrorText
    release loEmail
    release loCopy
    return
endif

? "Copy subject: " + loCopy.Subject
? "Copy NumTo: " + str(loCopy.NumTo)


release loEmail
release loCopy