Sample code for 30+ languages & platforms
Lazarus Pascal

Explaining the Email FromName, FromAddress, and From Properties

See more Email Object Examples

This example explains the email object's FromName, FromAddress, and From properties.

Chilkat Lazarus Pascal Downloads

Lazarus Pascal
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
  email1: TEmail;
  email2: TEmail;

begin
  //  The email's FROM name and address can be set in several ways.
  //  It can include an optional friendly name (which is just a description),
  //  and it must include an address.

  //  For example:
  email1 := TEmail.Create;
  email1.Subject := 'test';
  email1.Body := 'test';

  email1.FromName := 'Joe Sample';
  email1.FromAddress := 'joe.sample@example.com';

  //  the From property contains both the FromName and FromAddress
  //  This produces the following output:
  //  From: "Joe Sample" <joe.sample@example.com>
  WriteLn('From: ' + email1.From);
  WriteLn('--------------------------------------------------');

  //  Examine the MIME of the email:
  WriteLn(email1.GetMime());
  WriteLn('--------------------------------------------------');

  //  Output is:

  //  	MIME-Version: 1.0
  //  	Date: Wed, 16 Nov 2016 12:32:13 -0600
  //  	Message-ID: <02B461C6D12FA6686C3151A649ED8D5BBFBE0721@CHILKAT13>
  //  	Content-Type: text/plain
  //  	Content-Transfer-Encoding: 7bit
  //  	X-Priority: 3 (Normal)
  //  	Subject: test
  //  	From: "Joe Sample" <joe.sample@example.com>
  //  
  //  	test

  //  --------------------------------------------
  //  Alternatively, the From property can be set, and this 
  //  implicitly sets the FromName and FromAddress properties.

  email2 := TEmail.Create;
  email2.From := 'Joe Sample <joe.sample@example.com>';

  WriteLn('FromName: ' + email2.FromName);
  WriteLn('FromAddress: ' + email2.FromAddress);
  WriteLn('--------------------------------------------------');

  WriteLn(email2.GetMime());


  email1.Free;
  email2.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.