Sample code for 30+ languages & platforms
Delphi ActiveX

Send an SMTP RSET Command

See more SMTP Examples

Demonstrates the Chilkat MailMan.SmtpReset method, which sends an SMTP RSET command to the server. RSET resets the server-side state of the current mail transaction. This example opens a connection, sends RSET, and closes.

Background: During an SMTP session a message is built up across MAIL FROM and RCPT TO commands. If you need to abandon that partially-specified transaction — say an error occurred midway — RSET clears it without dropping the connection, so the same authenticated session can start a fresh message. It's a lightweight way to recover in-session rather than reconnecting.

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
var
success: Integer;
mailman: TChilkatMailMan;

begin
success := 0;

//  Demonstrates the MailMan.SmtpReset method, which sends an SMTP RSET command to the server.
//  RSET resets the server-side state of the current mail transaction.

mailman := TChilkatMailMan.Create(Self);

//  Configure the SMTP server connection.
mailman.SmtpHost := 'smtp.example.com';
mailman.SmtpPort := 465;
mailman.SmtpSsl := 1;
mailman.SmtpUsername := 'user@example.com';
mailman.SmtpPassword := 'myPassword';

//  Open the connection.

success := mailman.OpenSmtpConnection();
if (success = 0) then
  begin
    Memo1.Lines.Add(mailman.LastErrorText);
    Exit;
  end;

//  Reset the current SMTP mail transaction.
success := mailman.SmtpReset();
if (success = 0) then
  begin
    Memo1.Lines.Add(mailman.LastErrorText);
    Exit;
  end;

success := mailman.CloseSmtpConnection();
if (success = 0) then
  begin
    Memo1.Lines.Add(mailman.LastErrorText);
    Exit;
  end;

Memo1.Lines.Add('Sent SMTP RSET.');