Unicode C++
Unicode 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 Unicode C++ Downloads
#include <CkMailManW.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.
CkMailManW mailman;
// Configure the SMTP server connection.
mailman.put_SmtpHost(L"smtp.example.com");
mailman.put_SmtpPort(465);
mailman.put_SmtpSsl(true);
mailman.put_SmtpUsername(L"user@example.com");
mailman.put_SmtpPassword(L"myPassword");
// Open the SMTP connection.
success = mailman.OpenSmtpConnection();
if (success == false) {
wprintf(L"%s\n",mailman.lastErrorText());
return;
}
// Send a NOOP to keep the connection alive.
success = mailman.SmtpNoop();
if (success == false) {
wprintf(L"%s\n",mailman.lastErrorText());
return;
}
success = mailman.CloseSmtpConnection();
if (success == false) {
wprintf(L"%s\n",mailman.lastErrorText());
return;
}
wprintf(L"SMTP NOOP succeeded.\n");
}