// We create Imap client

Imap4Client imap = new Imap4Client();

 

try

{

    // We connect to the imap4 server

    imap.Connect(_tbImap4Server.Text);

 

    this.AddLogEntry(string.Format("Connection to {0} successfully", _tbImap4Server.Text));

 

    // Login to mail box

    imap.Login(_tbUserName.Text, _tbPassword.Text);

 

    this.AddLogEntry(string.Format("Login to {0} successfully", _tbImap4Server.Text));

 

    Mailbox inbox = imap.SelectMailbox("inbox");

 

    // We gets the message matching the search criteria.

    MessageCollection messages = inbox.SearchParse("searchcritiria");

 

    if (messages.Count > 0)

    {

        for (int n = 0; n < messages.Count; n++)

        {

            this.AddLogEntry(string.Format("Message ({0}) : {1}", n.ToString(), messages[n].Subject));

        }

    }

 

    else

    {

        this.AddLogEntry("There is no message using this search pattern");

    }

 

}

 

catch (Imap4Exception iex)

{

    this.AddLogEntry(string.Format("Imap4 Error: {0}", iex.Message));

}

 

catch (Exception ex)

{

    this.AddLogEntry(string.Format("Failed: {0}", ex.Message));

}

 

finally

{

    if (imap.IsConnected)

    {

        imap.Disconnect();

    }

}