Sample code for 30+ languages & platforms
Lianja

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

Lianja
llSuccess = .F.

//  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.

loMailman = createobject("CkMailMan")

//  Configure the SMTP server connection.
loMailman.SmtpHost = "smtp.example.com"
loMailman.SmtpPort = 465
loMailman.SmtpSsl = .T.
loMailman.SmtpUsername = "user@example.com"
loMailman.SmtpPassword = "myPassword"

//  Open the connection.

llSuccess = loMailman.OpenSmtpConnection()
if (llSuccess = .F.) then
    ? loMailman.LastErrorText
    release loMailman
    return
endif

//  Reset the current SMTP mail transaction.
llSuccess = loMailman.SmtpReset()
if (llSuccess = .F.) then
    ? loMailman.LastErrorText
    release loMailman
    return
endif

llSuccess = loMailman.CloseSmtpConnection()
if (llSuccess = .F.) then
    ? loMailman.LastErrorText
    release loMailman
    return
endif

? "Sent SMTP RSET."


release loMailman