Sample code for 30+ languages & platforms
PureBasic

Set the Email Date Header to the Current System Date/Time

Demonstrates how to set the Date header field of an email to the computer's current date/time. Note: When an email object is instantiated, the Date header field is automatically added and initialized to the current system date/time. The need to explicitly set the Date header could arise when loading an email from a .eml.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkDateTime.pb"
IncludeFile "CkEmail.pb"

Procedure ChilkatExample()

    success.i = 0

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

    ; At this point, a new email object has been instantiated, and it
    ; already has a Date header field containing the current date/time.
    Debug "Date: " + CkEmail::ckEmailDateStr(email)

    ; We can also get the Date header like this:
    Debug "Date: " + CkEmail::ckGetHeaderField(email,"Date")

    ; Load a .eml into the email object:
    success = CkEmail::ckLoadEml(email,"myEmlFiles/someEmail.eml")
    If success <> 1
        Debug CkEmail::ckLastErrorText(email)
        CkEmail::ckDispose(email)
        ProcedureReturn
    EndIf

    ; Show the Date that was in the .eml
    Debug "Date: " + CkEmail::ckEmailDateStr(email)

    ; Now the Date header contains whatever was in the .eml
    ; Let's update it to the current system date/time..

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

    CkDateTime::ckSetFromCurrentSystemTime(dateTime)

    success = CkEmail::ckSetDt(email,dateTime)
    If success <> 1
        Debug CkEmail::ckLastErrorText(email)
        CkEmail::ckDispose(email)
        CkDateTime::ckDispose(dateTime)
        ProcedureReturn
    EndIf

    ; Now show that the Date is the current system time:
    Debug "Date: " + CkEmail::ckEmailDateStr(email)
    Debug "Date: " + CkEmail::ckGetHeaderField(email,"Date")


    CkEmail::ckDispose(email)
    CkDateTime::ckDispose(dateTime)


    ProcedureReturn
EndProcedure