Sample code for 30+ languages & platforms
Delphi DLL

Demonstrates IMAP Session Logging

Demonstrates how to enable IMAP session logging and examine the session log.

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

// Turn on session logging:
CkImap_putKeepSessionLog(imap,True);

// Connect to GMail
// 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;

// Login
// Your login is typically your GMail email address.
success := CkImap_Login(imap,'username@gmail.com','myPassword');
if (success <> True) then
  begin
    Memo1.Lines.Add(CkImap__lastErrorText(imap));
    Exit;
  end;

// Select an IMAP mailbox
success := CkImap_SelectMailbox(imap,'Inbox');
if (success <> True) then
  begin
    Memo1.Lines.Add(CkImap__lastErrorText(imap));
    Exit;
  end;

// Show the session log.
Memo1.Lines.Add(CkImap__sessionLog(imap));

// The session log will look like this:

// ----INFO----
// Connecting to IMAP server at imap.gmail.com:993
// ----IMAP RESPONSE----
// * OK Gimap ready for requests from ...
// ----IMAP REQUEST----
// aaab LOGIN "chilkat.support@gmail.com"
// ----IMAP RESPONSE----
// * CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 UIDPLUS COMPRESS=DEFLATE ENABLE MOVE CONDSTORE ESEARCH UTF8=ACCEPT LIST-EXTENDED LIST-STATUS LITERAL- SPECIAL-USE APPENDLIMIT=35651584
// aaab OK chilkat.support@gmail.com authenticated (Success)
// ----IMAP REQUEST----
// aaac SELECT "Inbox"
// ----IMAP RESPONSE----
// * FLAGS (\Answered \Flagged \Draft \Deleted \Seen $Forwarded $MDNSent $NotPhishing $Phishing $label1 $label2 $label3 $label4 $label5 Junk NonJunk)
// * OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen $Forwarded $MDNSent $NotPhishing $Phishing $label1 $label2 $label3 $label4 $label5 Junk NonJunk \*)] Flags permitted.
// * OK [UIDVALIDITY 3] UIDs valid.
// * 29 EXISTS
// * 0 RECENT
// * OK [UIDNEXT 6286] Predicted next UID.
// * OK [HIGHESTMODSEQ 813897]
// aaac OK [READ-WRITE] Inbox selected. (Success)

// Disconnect from the IMAP server.
success := CkImap_Disconnect(imap);

CkImap_Dispose(imap);

end;