C++
C++
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 C++ Downloads
#include <CkMailMan.h>
void ChilkatSample(void)
{
bool success = false;
// 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.
CkMailMan mailman;
// 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 SMTP connection.
success = mailman.OpenSmtpConnection();
if (success == false) {
std::cout << mailman.lastErrorText() << "\r\n";
return;
}
// Send a NOOP to keep the connection alive.
success = mailman.SmtpNoop();
if (success == false) {
std::cout << mailman.lastErrorText() << "\r\n";
return;
}
success = mailman.CloseSmtpConnection();
if (success == false) {
std::cout << mailman.lastErrorText() << "\r\n";
return;
}
std::cout << "SMTP NOOP succeeded." << "\r\n";
}