Pascal (Lazarus/Delphi)
Pascal (Lazarus/Delphi)
Verify Connectivity to the SMTP Server
See more SMTP Examples
Demonstrates the Chilkat MailMan.VerifySmtpConnection method, which tests whether a TCP/IP connection can be established with the configured SMTP server. It verifies connectivity only — it does not authenticate. This example configures the SMTP host and checks whether it can be reached.
Background: When a send fails, it helps to know where it broke.
VerifySmtpConnection isolates the first hop — can the client even reach the server on the configured host and port, and complete the TLS handshake? A failure here points at networking, firewall, DNS, port, or certificate issues rather than credentials. Once connectivity is confirmed, VerifySmtpLogin tests the authentication step.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.MailMan;
// ---------------------------------------------------------------------------
procedure RunDemo;
var
mailman: TMailMan;
connected: Boolean;
begin
// Demonstrates the MailMan.VerifySmtpConnection method, which tests whether a TCP/IP
// connection can be established with the configured SMTP server. It verifies connectivity
// only (it does not authenticate).
mailman := TMailMan.Create;
// Configure the SMTP server connection.
mailman.SmtpHost := 'smtp.example.com';
mailman.SmtpPort := 465;
mailman.SmtpSsl := True;
// Test connectivity to the SMTP server.
connected := mailman.VerifySmtpConnection();
if (connected = True) then
begin
WriteLn('Successfully connected to the SMTP server.');
end
else
begin
WriteLn('Could not connect to the SMTP server.');
end;
mailman.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.