Sample code for 30+ languages & platforms
Ruby

IMAP LastResponse and LastResponseCode

Demonstrates the IMAP LastResponse and LastResponseCode properties.

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

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

imap = Chilkat::CkImap.new()

# Use TLS
imap.put_Ssl(true)
imap.put_Port(993)
success = imap.Connect("imap.gmail.com")
if (success != true)
    print imap.lastErrorText() + "\n";
    exit
end

# 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)
    print "Successfull login, but this example is meant to demonstrate an error, such as a failed login." + "\n";
    exit
end

# Let's look at the LastErrorText, and also the LastResponse and LastResponseCode.
print "LastResponseCode = " + imap.lastResponseCode() + "\n";
print "LastReponse = " + imap.lastResponse() + "\n";
print "LastErrorText = " + imap.lastErrorText() + "\n";

# 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()