MailBee.NET Objects 4.0

Imap.Search Method ()

Returns the collection of UIDs of all messages in the currently selected folder.

public UidCollection Search();

Return Value

UidCollection object if the command succeeded; otherwise, a null reference (Nothing in Visual Basic).

Remarks

This method can be used to enumerate UID values of all messages in the folder.

Exceptions

Exception Type Condition
MailBeeException An error occurred and ThrowExceptions is true.

Example

[C#]
using System;
using MailBee;
using MailBee.ImapMail;

class Sample
{
    static void Main(string[] args)
    {
        Imap imp = new Imap();

        imp.Connect("mail.host.com");

        imp.Login("jdoe@host.com", "secret");

        // Select Inbox folder.
        imp.SelectFolder("INBOX");

        // Enumerate UIDs into uids variable.
        UidCollection uids = imp.Search();

        // Print UID list as a message set (this message set can then be
        // supplied as messageIndexSet argument of Imap object methods).
        Console.WriteLine("uids as message set (i.e. message sequence):");
        Console.WriteLine(uids.ToString());

        // Print each UID value individually.
        Console.WriteLine();
        Console.WriteLine("uids as a list of UIDs:");
        foreach (long uid in uids)
        {
            Console.WriteLine(uid);
        }

        // Disconnect from the server.
        imp.Disconnect();
    }
}
[Visual Basic]
Imports System
Imports MailBee
Imports MailBee.ImapMail

Module Sample
    Sub Main()
        Dim imp As New Imap

        imp.Connect("imap4.company.com")
        imp.Login("jdoe@company.com", "secret")

        ' Select Inbox folder.
        imp.SelectFolder("INBOX")

        ' Enumerate UIDs into uids variable.
        Dim uids As UidCollection = imp.Search()

        ' Print UID list as a message set (this message set can then be
        ' supplied as messageIndexSet argument of Imap object methods).
        Console.WriteLine("uids as message set (i.e. message sequence):")
        Console.WriteLine(uids.ToString())

        ' Print each UID value individually.
        Console.WriteLine()
        Console.WriteLine("uids as a list of UIDs:")
        For Each uid As Long In uids
            Console.WriteLine(uid)
        Next

        ' Disconnect from the server.
        imp.Disconnect()
    End Sub
End Module

See Also

Imap Class | MailBee.ImapMail Namespace | Imap.Search Overload List | UidCollection