Sample code for 30+ languages & platforms
Unicode C++

IMAP LastResponse and LastResponseCode

Demonstrates the IMAP LastResponse and LastResponseCode properties.

Chilkat Unicode C++ Downloads

Unicode C++
#include <CkImapW.h>

void ChilkatSample(void)
    {
    bool success = false;

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

    CkImapW imap;

    //  Use TLS
    imap.put_Ssl(true);
    imap.put_Port(993);
    success = imap.Connect(L"imap.gmail.com");
    if (success != true) {
        wprintf(L"%s\n",imap.lastErrorText());
        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 = imap.Login(L"my_login",L"my_intentionally incorrect_password");
    if (success == true) {
        wprintf(L"Successfull login, but this example is meant to demonstrate an error, such as a failed login.\n");
        return;
    }

    //  Let's look at the LastErrorText, and also the LastResponse and LastResponseCode.
    wprintf(L"LastResponseCode = %s\n",imap.lastResponseCode());
    wprintf(L"LastReponse = %s\n",imap.lastResponse());
    wprintf(L"LastErrorText = %s\n",imap.lastErrorText());

    //  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 = imap.Disconnect();
    }