Sample code for 30+ languages & platforms
Go

IMAP LastResponse and LastResponseCode

Demonstrates the IMAP LastResponse and LastResponseCode properties.

Chilkat Go Downloads

Go
    success := false

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

    imap := chilkat.NewImap()

    // Use TLS
    imap.SetSsl(true)
    imap.SetPort(993)
    success = imap.Connect("imap.gmail.com")
    if success != true {
        fmt.Println(imap.LastErrorText())
        imap.DisposeImap()
        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("my_login","my_intentionally incorrect_password")
    if success == true {
        fmt.Println("Successfull login, but this example is meant to demonstrate an error, such as a failed login.")
        imap.DisposeImap()
        return
    }

    // Let's look at the LastErrorText, and also the LastResponse and LastResponseCode.
    fmt.Println("LastResponseCode = ", imap.LastResponseCode())
    fmt.Println("LastReponse = ", imap.LastResponse())
    fmt.Println("LastErrorText = ", 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()

    imap.DisposeImap()