Sample code for 30+ languages & platforms
Delphi ActiveX

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

Delphi ActiveX
var
success: Integer;
email: TChilkatEmail;
dateTime: TCkDateTime;

begin
success := 0;

email := TChilkatEmail.Create(Self);

//  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: ' + email.EmailDateStr);

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

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

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

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

dateTime := TCkDateTime.Create(Self);

dateTime.SetFromCurrentSystemTime();

success := email.SetDt(dateTime.ControlInterface);
if (success <> 1) then
  begin
    Memo1.Lines.Add(email.LastErrorText);
    Exit;
  end;

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