Sample code for 30+ languages & platforms
Ruby

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

Ruby
require 'chilkat'

success = false

#  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(true)
mailman.put_SmtpUsername("user@example.com")
mailman.put_SmtpPassword("myPassword")

#  Open the connection.

success = mailman.OpenSmtpConnection()
if (success == false)
    print mailman.lastErrorText() + "\n";
    exit
end

#  Reset the current SMTP mail transaction.
success = mailman.SmtpReset()
if (success == false)
    print mailman.lastErrorText() + "\n";
    exit
end

success = mailman.CloseSmtpConnection()
if (success == false)
    print mailman.lastErrorText() + "\n";
    exit
end

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