Sample code for 30+ languages & platforms
C

IMAP LastResponse and LastResponseCode

Demonstrates the IMAP LastResponse and LastResponseCode properties.

Chilkat C Downloads

C
#include <C_CkImap.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkImap imap;

    success = FALSE;

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

    imap = CkImap_Create();

    //  Use TLS
    CkImap_putSsl(imap,TRUE);
    CkImap_putPort(imap,993);
    success = CkImap_Connect(imap,"imap.gmail.com");
    if (success != TRUE) {
        printf("%s\n",CkImap_lastErrorText(imap));
        CkImap_Dispose(imap);
        return;
    }

    //  Authenticate, but with an intentionally incorrect password
    //  so we can see the contents of the LastErrorText, and also
    //  the LastResponse and LastResponseCode properties.
    success = CkImap_Login(imap,"my_login","my_intentionally incorrect_password");
    if (success == TRUE) {
        printf("Successfull login, but this example is meant to demonstrate an error, such as a failed login.\n");
        CkImap_Dispose(imap);
        return;
    }

    //  Let's look at the LastErrorText, and also the LastResponse and LastResponseCode.
    printf("LastResponseCode = %s\n",CkImap_lastResponseCode(imap));
    printf("LastReponse = %s\n",CkImap_lastResponse(imap));
    printf("LastErrorText = %s\n",CkImap_lastErrorText(imap));

    //  Sample output:

    //  LastResponseCode = AUTHENTICATIONFAILED
    //  LastReponse = aaab NO [AUTHENTICATIONFAILED] Invalid credentials (Failure)
    //  LastErrorText = ChilkatLog:
    //    Login:
    //      DllDate: Oct 28 2023
    //      ChilkatVersion: 9.5.0.96
    //      UnlockPrefix: EXCODE
    //      UnlockStatus: 2
    //      Architecture: Little Endian; 64-bit
    //      Language: .NET 4.5 / x64 / VS2012
    //      VerboseLogging: 0
    //      imapServer: imap.gmail.com
    //      loginX(47ms):
    //        login: my_login
    //        greeting: * OK Gimap ready for requests from 98.213.102.119 w5mb285327441qtc
    //  
    //        authenticateLogin(47ms):
    //          loginImap(47ms):
    //            ConnectionType: SSL/TLS
    //            ImapCmdSent: aaab LOGIN "my_login"
    //            getCompleteResponse(47ms):
    //              ImapCmdResp: aaab NO [AUTHENTICATIONFAILED] Invalid credentials (Failure)
    //            --getCompleteResponse
    //          --loginImap
    //          isOK:
    //            serverResponse: aaab NO [AUTHENTICATIONFAILED] Invalid credentials (Failure)
    //          --isOK
    //        --authenticateLogin
    //      --loginX
    //      Failed.
    //    --Login
    //  --ChilkatLog

    //  Disconnect from the IMAP server.
    success = CkImap_Disconnect(imap);


    CkImap_Dispose(imap);

    }