Sample code for 30+ languages & platforms
C

SMTP Connect and Authenticate

Demonstrates how to connect and then authenticate with an SMTP server.

Chilkat C Downloads

C
#include <C_CkMailMan.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkMailMan mailman;

    success = FALSE;

    // This example requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    mailman = CkMailMan_Create();

    CkMailMan_putSmtpHost(mailman,"smtp.mail.us-west-2.awsapps.com");
    CkMailMan_putSmtpSsl(mailman,TRUE);
    CkMailMan_putSmtpPort(mailman,465);

    success = CkMailMan_SmtpConnect(mailman);
    if (success == FALSE) {
        printf("%s\n",CkMailMan_lastErrorText(mailman));
        CkMailMan_Dispose(mailman);
        return;
    }

    CkMailMan_putSmtpUsername(mailman,"john@example.com");
    CkMailMan_putSmtpPassword(mailman,"the_password");

    success = CkMailMan_SmtpAuthenticate(mailman);
    if (success == FALSE) {
        printf("%s\n",CkMailMan_lastErrorText(mailman));
        CkMailMan_Dispose(mailman);
        return;
    }

    printf("Authenticated!\n");

    printf("%s\n",CkMailMan_smtpSessionLog(mailman));

    // Sample session log:

    // 220 smtp.us-west-2.mail.awsapps.com ESMTP Amazon WorkMail SMTP Service
    // EHLO SLICE<CRLF>
    // 250-smtp.us-west-2.mail.awsapps.com
    // 250-8BITMIME
    // 250-AUTH PLAIN LOGIN
    // 250 Ok
    // AUTH LOGIN<CRLF>
    // 334 VXNlcm5hbWU6
    // am9obkBleGFtcGxlLmNvbQ==<CRLF>
    // 334 UGFzc3dvcmQ6
    // {PasswordOrCredentials}
    // 235 Authentication successful.


    CkMailMan_Dispose(mailman);

    }