Sample code for 30+ languages & platforms
PureBasic

Create a Reply Email

See more Email Object Examples

Demonstrates the Chilkat Email.ToReply method, which generates a reply email with updated header and body fields so it can be sent as a reply. Attachments are excluded from the reply, but attached messages are included. The source email is not modified. This example creates a reply and prints its MIME.

Background: Replying is more than swapping sender and recipient: the To is set from the original's reply address, the subject gets an Re: prefix, the original text is quoted, and threading headers (In-Reply-To, References) are added so mail clients group the conversation. ToReply assembles all of that, leaving a message you can edit and send. Dropping attachments is the usual reply convention — you rarely echo the sender's files back to them.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkEmail.pb"

Procedure ChilkatExample()

    success.i = 0

    ;  Demonstrates the ToReply method, which generates a reply email with updated header and
    ;  body fields ready to send as a reply.  Attachments are excluded from the reply, but
    ;  attached messages are included.  The source email is not modified.

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

    CkEmail::setCkSubject(email, "Project update")
    CkEmail::setCkFrom(email, "alice@example.com")
    CkEmail::ckAddTo(email,"Bob","bob@example.com")
    CkEmail::setCkBody(email, "Here is the project update.")

    ;  Create a reply email based on this message.
    reply.i = CkEmail::ckCreate()
    If reply.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success = CkEmail::ckToReply(email,reply)
    If success = 0
        Debug CkEmail::ckLastErrorText(email)
        CkEmail::ckDispose(email)
        CkEmail::ckDispose(reply)
        ProcedureReturn
    EndIf

    ;  The reply is addressed and quoted, ready to edit and send.
    Debug CkEmail::ckGetMime(reply)


    CkEmail::ckDispose(email)
    CkEmail::ckDispose(reply)


    ProcedureReturn
EndProcedure