Sample code for 30+ languages & platforms
Delphi DLL

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 Delphi DLL Downloads

Delphi DLL
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Email, CkDateTime;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
email: HCkEmail;
dateTime: HCkDateTime;

begin
success := False;

email := CkEmail_Create();

// At this point, a new email object has been instantiated, and it
// already has a Date header field containing the current date/time.
Memo1.Lines.Add('Date: ' + CkEmail__emailDateStr(email));

// We can also get the Date header like this:
Memo1.Lines.Add('Date: ' + CkEmail__getHeaderField(email,'Date'));

// Load a .eml into the email object:
success := CkEmail_LoadEml(email,'myEmlFiles/someEmail.eml');
if (success <> True) then
  begin
    Memo1.Lines.Add(CkEmail__lastErrorText(email));
    Exit;
  end;

// Show the Date that was in the .eml
Memo1.Lines.Add('Date: ' + CkEmail__emailDateStr(email));

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

dateTime := CkDateTime_Create();

CkDateTime_SetFromCurrentSystemTime(dateTime);

success := CkEmail_SetDt(email,dateTime);
if (success <> True) then
  begin
    Memo1.Lines.Add(CkEmail__lastErrorText(email));
    Exit;
  end;

// Now show that the Date is the current system time:
Memo1.Lines.Add('Date: ' + CkEmail__emailDateStr(email));
Memo1.Lines.Add('Date: ' + CkEmail__getHeaderField(email,'Date'));

CkEmail_Dispose(email);
CkDateTime_Dispose(dateTime);

end;