Pascal (Lazarus/Delphi)
Pascal (Lazarus/Delphi)
Get a Header Field of an Attachment
See more Email Object Examples
Demonstrates the Chilkat Email.GetAttachmentHeader method, which returns the value of a named header field of an attachment. The first argument is the zero-based attachment index and the second is the MIME header-field name. This example reads the Content-Disposition header of the first attachment.
Background: Each attachment is a MIME part with its own header block. Where
GetAttachmentAttr extracts a single named parameter, GetAttachmentHeader returns the entire value of a header field — for example the full Content-Disposition: attachment; filename="notes.txt" line. That is useful for inspecting or debugging exactly how a part is described, including any custom X- headers a sender may have added.Chilkat Pascal (Lazarus/Delphi) Downloads
program ChilkatDemo;
// Demonstrates using the Chilkat Pascal wrapper via the C bridge DLL.
// Builds as a console application under Lazarus (FPC) or Delphi.
{$IFDEF FPC}
{$MODE DELPHI}
{$ENDIF}
{$APPTYPE CONSOLE}
uses
{$IFDEF UNIX}
cthreads,
{$ENDIF}
SysUtils,
CkDllLoader,
Chilkat.Email;
// ---------------------------------------------------------------------------
procedure RunDemo;
var
email: TEmail;
disp: string;
begin
// Demonstrates the GetAttachmentHeader method, which returns the value of a header field
// (by name) of an attachment. The first argument is the zero-based attachment index and the second is the
// MIME header-field name.
email := TEmail.Create;
email.Subject := 'Attachment header field';
email.AddStringAttachment('notes.txt','Some notes.');
// Get the Content-Disposition header of the first attachment (index 0).
disp := email.GetAttachmentHeader(0,'Content-Disposition');
WriteLn('Attachment 0 Content-Disposition: ' + disp);
email.Free;
end;
// ---------------------------------------------------------------------------
begin
try
RunDemo;
except
on E: Exception do
WriteLn('Unhandled exception: ', E.ClassName, ': ', E.Message);
end;
WriteLn;
{$IFDEF MSWINDOWS}
WriteLn('Press Enter to exit...');
ReadLn;
{$ENDIF}
end.