Sample code for 30+ languages & platforms
Perl

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 Perl Downloads

Perl
use chilkat();

$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 = chilkat::CkMailMan->new();

#  Configure the SMTP server connection.
$mailman->put_SmtpHost("smtp.example.com");
$mailman->put_SmtpPort(465);
$mailman->put_SmtpSsl(1);
$mailman->put_SmtpUsername('user@example.com');
$mailman->put_SmtpPassword("myPassword");

#  Open the connection.

$success = $mailman->OpenSmtpConnection();
if ($success == 0) {
    print $mailman->lastErrorText() . "\r\n";
    exit;
}

#  Reset the current SMTP mail transaction.
$success = $mailman->SmtpReset();
if ($success == 0) {
    print $mailman->lastErrorText() . "\r\n";
    exit;
}

$success = $mailman->CloseSmtpConnection();
if ($success == 0) {
    print $mailman->lastErrorText() . "\r\n";
    exit;
}

print "Sent SMTP RSET." . "\r\n";