Sample code for 30+ languages & platforms
Perl

IMAP LastResponse and LastResponseCode

Demonstrates the IMAP LastResponse and LastResponseCode properties.

Chilkat Perl Downloads

Chilkat2 Perl
use strict;
use warnings;
use Chilkat2;

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

my $imap = Chilkat2::Imap->new;

# Use TLS
$imap->Ssl(1);
$imap->Port(993);
my $success = $imap->Connect('imap.gmail.com');
if (!$success) {
    print $imap->LastErrorText, "\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) {
    print "Successfull login, but this example is meant to demonstrate an error, such as a failed login.\n";
    exit;
}

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