Sample code for 30+ languages & platforms
C++

Disconnect from an IMAP Server

See more IMAP Examples

Demonstrates the Chilkat Imap.Disconnect method, which closes the connection to the IMAP server. A failure indicates the connection could not be closed cleanly; the socket is nevertheless no longer intended for use. This example connects, logs in, and then disconnects.

Background: Disconnect closes the underlying TCP socket. It is lower-level than Logout, which first tells the server to end the IMAP session; the tidy shutdown is Logout followed by Disconnect. Always releasing connections matters because servers cap the number of simultaneous IMAP connections per account, and leaked connections can lock you out until they time out.

Chilkat C++ Downloads

C++
#include <CkImap.h>

void ChilkatSample(void)
    {
    bool success = false;

    //  Demonstrates the Imap.Disconnect method, which closes the connection to the IMAP server.

    CkImap imap;

    imap.put_Ssl(true);
    imap.put_Port(993);

    success = imap.Connect("imap.example.com");
    if (success == false) {
        std::cout << imap.lastErrorText() << "\r\n";
        return;
    }

    success = imap.Login("user@example.com","myPassword");
    if (success == false) {
        std::cout << imap.lastErrorText() << "\r\n";
        return;
    }

    //  ... perform mailbox operations here ...

    //  Close the connection to the IMAP server.
    success = imap.Disconnect();
    if (success == false) {
        std::cout << imap.lastErrorText() << "\r\n";
        return;
    }

    std::cout << "Disconnected from the IMAP server." << "\r\n";
    }