Unicode C
Unicode C
SMTP Send Raw Command
Demonstrates how to send a raw command to the SMTP server after the connecting and authenticating.Chilkat Unicode C Downloads
#include <C_CkMailManW.h>
void ChilkatSample(void)
{
BOOL success;
HCkMailManW mailman;
const wchar_t *responseStr;
success = FALSE;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
mailman = CkMailManW_Create();
CkMailManW_putSmtpHost(mailman,L"smtp.mail.us-west-2.awsapps.com");
CkMailManW_putSmtpSsl(mailman,TRUE);
CkMailManW_putSmtpPort(mailman,465);
success = CkMailManW_SmtpConnect(mailman);
if (success == FALSE) {
wprintf(L"%s\n",CkMailManW_lastErrorText(mailman));
CkMailManW_Dispose(mailman);
return;
}
CkMailManW_putSmtpUsername(mailman,L"john@example.com");
CkMailManW_putSmtpPassword(mailman,L"the_password");
success = CkMailManW_SmtpAuthenticate(mailman);
if (success == FALSE) {
wprintf(L"%s\n",CkMailManW_lastErrorText(mailman));
CkMailManW_Dispose(mailman);
return;
}
wprintf(L"Authenticated!\n");
// Send the "EHLO" command again to get the multi-line response that includes the SMTP capabilities.
// The capabilities are the lines in the response that begin with "250-".
responseStr = CkMailManW_smtpSendRawCommand(mailman,L"EHLO client.example.com",L"utf-8",FALSE);
if (CkMailManW_getLastMethodSuccess(mailman) == FALSE) {
wprintf(L"%s\n",CkMailManW_lastErrorText(mailman));
CkMailManW_Dispose(mailman);
return;
}
wprintf(L"%s\n",responseStr);
// A sample response:
// 250-smtp.us-west-2.mail.awsapps.com
// 250-8BITMIME
// 250-AUTH PLAIN LOGIN
// 250 Ok
CkMailManW_Dispose(mailman);
}