Sample code for 30+ languages & platforms
Delphi DLL

Iterate Email Headers

Demonstrates how to iterate over the email header fields.

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;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
email: HCkEmail;
n: Integer;
i: Integer;
name: PWideChar;
value: PWideChar;

begin
success := False;

email := CkEmail_Create();

// First, load an email from a file. 
// Note: an email object may be loaded from a file, or
// downloaded directly from a POP3 or IMAP server...

success := CkEmail_LoadEml(email,'testReceivedHdrs.eml');
if (success <> True) then
  begin
    Memo1.Lines.Add(CkEmail__lastErrorText(email));
    Exit;
  end;

// How many header fields?

n := CkEmail_getNumHeaderFields(email);
if (n > 0) then
  begin

    // Display the name and value of each header:

    for i := 0 to n - 1 do
      begin
        name := CkEmail__getHeaderFieldName(email,i);
        value := CkEmail__getHeaderFieldValue(email,i);
        Memo1.Lines.Add(IntToStr(i));
        Memo1.Lines.Add(name);
        Memo1.Lines.Add(value);

      end;

  end;

CkEmail_Dispose(email);

end;