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

Get a To Recipient's Address Only

See more Email Object Examples

Demonstrates the Chilkat Email.GetToAddr method, which returns only the address part (not the friendly-name part) of the Nth To recipient. The index is zero-based. This example adds two To recipients and prints each one's address.

Background: When you need the machine-usable part of a recipient — the actual user@domainGetToAddr returns it without the surrounding display name. This is what you want for validating addresses, removing duplicates, or checking against an allow/deny list, since the display name is free-form text and unreliable for identity.

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;
  n: Integer;
  i: Integer;

begin
  //  Demonstrates the GetToAddr method, which returns only the address part (not the friendly
  //  name) of the Nth To recipient.  The index is zero-based.

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

  email.AddTo('Joe Smith','joe@example.com');
  email.AddTo('Jane Doe','jane@example.com');

  n := email.NumTo;

  for i := 0 to n - 1 do
    begin
      WriteLn('To ' + i + ' address: ' + email.GetToAddr(i));
    end;



  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.