Pascal (Lazarus/Delphi)
Pascal (Lazarus/Delphi)
Remove the Plain-Text Body from an Email
See more Email Object Examples
Demonstrates the Chilkat Email.RemovePlainTextAlternative method, which removes the plain-text body from the email if one exists. Other body representations, attachments, and related items remain unchanged. This example builds a message with both plain-text and HTML alternatives, then removes the plain text.
Background: This is the counterpart to
RemoveHtmlAlternative. Removing the plain-text alternative leaves an HTML-only message. Note that dropping the plain-text fallback is generally discouraged for real mail — it hurts accessibility and can raise spam scores — but it is occasionally needed when a downstream system expects a single HTML representation.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 RemovePlainTextAlternative method, which removes the plain-text body
// from the email (if one exists). Other body representations, attachments, and related
// items remain.
email := TEmail.Create;
email.Subject := 'Remove plain-text alternative';
// Create an email with both plain-text and HTML alternatives.
email.SetTextBody('This is the plain-text version.','text/plain');
email.AddHtmlAlternativeBody('<html><body>This is the HTML version.</body></html>');
WriteLn('NumAlternatives before = ' + email.NumAlternatives);
WriteLn('HasPlainTextBody before: ' + email.HasPlainTextBody());
// Remove the plain-text body, leaving the HTML alternative.
email.RemovePlainTextAlternative();
WriteLn('NumAlternatives after = ' + email.NumAlternatives);
WriteLn('HasPlainTextBody after: ' + email.HasPlainTextBody());
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.