Pascal (Lazarus/Delphi)
Pascal (Lazarus/Delphi)
Remove All Attachments from an Email
See more Email Object Examples
Demonstrates the Chilkat Email.DropAttachments method, which removes all ordinary attachments from the in-memory message. Related items (inline images, style sheets) and attached message/rfc822 emails are not affected. This example adds two attachments, drops them, and prints the count before and after.
Background: Chilkat distinguishes three kinds of enclosed content: ordinary attachments (files meant to be saved), related items (resources that support the HTML display), and nested attached messages.
DropAttachments targets only the first category — useful, for example, when forwarding or re-sending a message body without carrying its original file attachments along.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;
begin
// Demonstrates the DropAttachments method, which removes all ordinary attachments from
// the email. Related items and attached messages are not affected.
email := TEmail.Create;
email.Subject := 'Drop attachments example';
email.AddStringAttachment('a.txt','first attachment');
email.AddStringAttachment('b.txt','second attachment');
WriteLn('NumAttachments before = ' + email.NumAttachments);
// Remove all attachments.
email.DropAttachments();
WriteLn('NumAttachments after = ' + email.NumAttachments);
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.