Viewing actual Communication between IMAP client and Server

Posted on 2005-04-06
Last Modified: 2010-04-05
I have created an IMAP mail client using the available Indy Components.

All of you guys familiar with IMAP will know that IMAP works using a bunch of commands sent from the client to the server to open a mailbox/get/delete mail etc.

What i would like to do is actually view my client sending these commands.By this I mean I would like to see the actual communication between the client and server whilst running my application in Delphi.

I would like to see this for example:

S: Welcome to IMAP server...please login
C:001 LOGIN 'usernaem' 'password'

bla bla

Is it possible to view this in some sort of console? I am sure Delphi must offer a testing tool which will allow me to do this!

Thanks guys


Question by:alexeijames
    LVL 19

    Accepted Solution

    I'm not sure that Delphi does.  You certainly have the option of a packet sniffer (such as Ethereal:  The Indy components also allow for interceptor classes - one of which I believe allows for the input/output of the communications to file in addition to the normal communication path, Indy help files are compiled and available at  Be sure to check which version of Indy you are using.

    Author Comment

    Yo Barthax!

    Genius!!!! It worked perfectly! I installed ethereal and applied a filter to view only Imap Packets!

    Precisely what i wanted.


    Thankyou very much

    LVL 19

    Expert Comment

    No problem. :)

    Featured Post

    How to run any project with ease

    Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
    - Combine task lists, docs, spreadsheets, and chat in one
    - View and edit from mobile/offline
    - Cut down on emails

    Join & Write a Comment

    A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
    This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
    how to add IIS SMTP to handle application/Scanner relays into office 365.
    This video discusses moving either the default database or any database to a new volume.

    729 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    20 Experts available now in Live!

    Get 1:1 Help Now