Xbase++
Xbase++
Send an SMTP NOOP Command
See more SMTP Examples
Demonstrates the Chilkat MailMan.SmtpNoop method, which sends an SMTP NOOP command to the server. NOOP does nothing except elicit a positive response, which is useful for keeping a connection alive or verifying it is still responsive. This example opens an SMTP connection, sends a NOOP, and closes.
Background: When holding an SMTP connection open across many sends (see
OpenSmtpConnection), an idle stretch can cause the server to time out and drop the socket. A periodic NOOP keeps the session active and confirms the server is still responding, so the next SendEmail doesn't fail on a silently-closed connection.Chilkat Xbase++ Downloads
LOCAL nSuccess
LOCAL oMailman
nSuccess := 0
// Demonstrates the MailMan.SmtpNoop method, which sends an SMTP NOOP command to the server.
// NOOP does nothing except elicit a positive response, useful for keeping a connection
// alive or verifying it is still responsive.
oMailman := CreateObject("Chilkat.MailMan")
// Configure the SMTP server connection.
oMailman:SmtpHost := "smtp.example.com"
oMailman:SmtpPort := 465
oMailman:SmtpSsl := 1
oMailman:SmtpUsername := "user@example.com"
oMailman:SmtpPassword := "myPassword"
// Open the SMTP connection.
nSuccess := oMailman:OpenSmtpConnection()
IF (nSuccess == 0)
? oMailman:LastErrorText
oMailman:destroy()
RETURN
ENDIF
// Send a NOOP to keep the connection alive.
nSuccess := oMailman:SmtpNoop()
IF (nSuccess == 0)
? oMailman:LastErrorText
oMailman:destroy()
RETURN
ENDIF
nSuccess := oMailman:CloseSmtpConnection()
IF (nSuccess == 0)
? oMailman:LastErrorText
oMailman:destroy()
RETURN
ENDIF
? "SMTP NOOP succeeded."
oMailman:destroy()