Pascal (Lazarus/Delphi)
Pascal (Lazarus/Delphi)
Get the Filename of an Attachment
See more Email Object Examples
Demonstrates the Chilkat Email.GetAttachmentFilename method, which retrieves an attachment's filename as stored in the MIME. The index is zero-based. This example adds an attachment and reads its filename.
Background: An attachment's filename comes from the sender's message and is not guaranteed to be safe or unique — it may include path separators or characters that are awkward on the local filesystem, and two attachments can share a name. When saving attachments to disk, treat this value as untrusted input: sanitize it and guard against collisions (see the
OverwriteExisting property, which can auto-generate unique names).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;
fname: string;
begin
// Demonstrates the GetAttachmentFilename method, which retrieves an attachment's filename
// (as stored in the MIME). The index is zero-based.
email := TEmail.Create;
email.Subject := 'Attachment filename';
email.AddStringAttachment('notes.txt','Some notes.');
// Get the filename of the first attachment (index 0).
fname := email.GetAttachmentFilename(0);
WriteLn('Attachment 0 filename: ' + fname);
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.