Sample code for 30+ languages & platforms
PureBasic

Create an Inline-Forward Email

See more Email Object Examples

Demonstrates the Chilkat Email.ToForward method, which creates an inline-forward email based on this email. The forward is returned in the argument, and the source email is not modified. The returned email can be edited — adding recipients, prepending a note — before sending. This example forwards a message and adds a recipient.

Background: An inline forward quotes the original message's content within the body of the new message — the familiar "---------- Forwarded message ----------" style — as opposed to attaching the original as a message/rfc822 part (which AttachEmail does). Chilkat assembles the quoted body and headers for you, leaving the new message ready to address and send.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkEmail.pb"

Procedure ChilkatExample()

    success.i = 0

    ;  Demonstrates the ToForward method, which creates an inline-forward email based on this
    ;  email.  The forward is returned in the argument; the source email is not modified.

    email.i = CkEmail::ckCreate()
    If email.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkEmail::setCkSubject(email, "Quarterly results")
    CkEmail::setCkFrom(email, "alice@example.com")
    CkEmail::ckAddTo(email,"Bob","bob@example.com")
    CkEmail::setCkBody(email, "Here are the quarterly results.")

    ;  Create an inline-forward email from this message.
    fwd.i = CkEmail::ckCreate()
    If fwd.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success = CkEmail::ckToForward(email,fwd)
    If success = 0
        Debug CkEmail::ckLastErrorText(email)
        CkEmail::ckDispose(email)
        CkEmail::ckDispose(fwd)
        ProcedureReturn
    EndIf

    ;  The forward can be edited to add recipients before sending.
    CkEmail::ckAddTo(fwd,"Carol","carol@example.com")

    Debug CkEmail::ckGetMime(fwd)


    CkEmail::ckDispose(email)
    CkEmail::ckDispose(fwd)


    ProcedureReturn
EndProcedure