Sample code for 30+ languages & platforms
Perl

IMAP LastResponse and LastResponseCode

Demonstrates the IMAP LastResponse and LastResponseCode properties.

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

# 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(1);
$imap->put_Port(993);
$success = $imap->Connect("imap.gmail.com");
if ($success != 1) {
    print $imap->lastErrorText() . "\r\n";
    exit;
}

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

# Let's look at the LastErrorText, and also the LastResponse and LastResponseCode.
print "LastResponseCode = " . $imap->lastResponseCode() . "\r\n";
print "LastReponse = " . $imap->lastResponse() . "\r\n";
print "LastErrorText = " . $imap->lastErrorText() . "\r\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();