Sample code for 30+ languages & platforms
Go

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 Go Downloads

Go
    success := false

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

    imap := chilkat.NewImap()

    imap.SetSsl(true)
    imap.SetPort(993)

    success = imap.Connect("imap.example.com")
    if success == false {
        fmt.Println(imap.LastErrorText())
        imap.DisposeImap()
        return
    }

    success = imap.Login("user@example.com","myPassword")
    if success == false {
        fmt.Println(imap.LastErrorText())
        imap.DisposeImap()
        return
    }

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

    //  Close the connection to the IMAP server.
    success = imap.Disconnect()
    if success == false {
        fmt.Println(imap.LastErrorText())
        imap.DisposeImap()
        return
    }

    fmt.Println("Disconnected from the IMAP server.")

    imap.DisposeImap()