Sample code for 30+ languages & platforms
Pascal (Lazarus/Delphi)

Set an Email Body with a Content-Type

See more Email Object Examples

Demonstrates the Chilkat Email.SetTextBody method, which sets the body of the email and also sets the Content-Type header field to the value in the second argument (a textual MIME type such as text/plain or text/html). If the email is already multipart/alternative, an alternative with the given content type is added, or replaced if one already exists. This example sets a plain-text body.

Background: SetTextBody is the general body-setter where you name the MIME type, making it flexible for building multipart/alternative messages one representation at a time. When your goal is specifically a plain-text/HTML pair, the dedicated methods — SetHtmlBody with AddPlainTextAlternativeBody, or AddHtmlAlternativeBody — express the intended alternative structure more clearly.

Chilkat Pascal (Lazarus/Delphi) Downloads

Pascal (Lazarus/Delphi)
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 SetTextBody method, which sets the body of the email and also sets the
  //  Content-Type header field to the value in the second argument (a textual MIME type such
  //  as text/plain or text/html).  If the email is already multipart/alternative, an
  //  alternative with the given Content-Type is added (or replaced if one already exists).

  email := TEmail.Create;
  email.Subject := 'SetTextBody example';

  //  Set a plain-text body with Content-Type text/plain.
  email.SetTextBody('This is the plain-text body of the message.','text/plain');

  WriteLn('HasPlainTextBody: ' + email.HasPlainTextBody());
  WriteLn(email.GetMime());


  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.