Sample code for 30+ languages & platforms
Delphi DLL

IMAP LastResponse and LastResponseCode

Demonstrates the IMAP LastResponse and LastResponseCode properties.

Chilkat Delphi DLL Downloads

Delphi DLL
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Imap;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
imap: HCkImap;

begin
success := False;

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

imap := CkImap_Create();

// Use TLS
CkImap_putSsl(imap,True);
CkImap_putPort(imap,993);
success := CkImap_Connect(imap,'imap.gmail.com');
if (success <> True) then
  begin
    Memo1.Lines.Add(CkImap__lastErrorText(imap));
    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 := CkImap_Login(imap,'my_login','my_intentionally incorrect_password');
if (success = True) then
  begin
    Memo1.Lines.Add('Successfull login, but this example is meant to demonstrate an error, such as a failed login.');
    Exit;
  end;

// Let's look at the LastErrorText, and also the LastResponse and LastResponseCode.
Memo1.Lines.Add('LastResponseCode = ' + CkImap__lastResponseCode(imap));
Memo1.Lines.Add('LastReponse = ' + CkImap__lastResponse(imap));
Memo1.Lines.Add('LastErrorText = ' + CkImap__lastErrorText(imap));

// 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 := CkImap_Disconnect(imap);

CkImap_Dispose(imap);

end;