List Email Messages with POP

POP servers allow clients to list currently available messages. This can, for instance, enable you to use PopClient to fetch the summary information of the emails and display the information to users without having to first download all of the messages from the server.

To obtain the message listing with GemBox.Email, you need to use one of the PopClient.ListMessages methods. The returned collection of PopMessageInfo objects contains only basic message information like the sequence number, size and unique designator.

The following example shows how you can get the list of messages and display its information.

Listing messages with POP client in C# and VB.NET
Screenshot of messages listing from PopClient
using System;
using System.Collections.Generic;
using GemBox.Email;
using GemBox.Email.Pop;

class Program
{
    static void Main()
    {
        // If using Professional version, put your serial key below.
        ComponentInfo.SetLicense("FREE-LIMITED-KEY");

        using (PopClient pop = new PopClient("<ADDRESS> (e.g. pop.gmail.com)"))
        {
            pop.Connect();
            pop.Authenticate("<USERNAME>", "<PASSWORD>");

            // Get information about all available messages.
            IList<PopMessageInfo> infos = pop.ListMessages();

            // Display messages information.
            foreach (PopMessageInfo info in infos)
                Console.WriteLine($"{info.Number} - [{info.Uid}] - {info.Size} Byte(s)");
        }
    }
}
Imports System
Imports System.Collections.Generic
Imports GemBox.Email
Imports GemBox.Email.Pop

Module Program

    Sub Main()

        ' If using Professional version, put your serial key below.
        ComponentInfo.SetLicense("FREE-LIMITED-KEY")

        Using pop As New PopClient("<ADDRESS> (e.g. pop.gmail.com)")

            pop.Connect()
            pop.Authenticate("<USERNAME>", "<PASSWORD>")

            ' Get information about all available messages.
            Dim infos As IList(Of PopMessageInfo) = pop.ListMessages()

            ' Display messages information.
            For Each info As PopMessageInfo In infos
                Console.WriteLine($"{info.Number} - [{info.Uid}] - {info.Size} Byte(s)")
            Next
        End Using
    End Sub
End Module

For more information about PopClient, check out our POP Client Connection example.

Want more?

Next example GitHub

Check the next example or select an example from the menu. You can also download our examples from the GitHub.


Like it?

Download Buy

If you want to try the GemBox.Email yourself, you can download the free version. It delivers the same performance and set of features as the professional version, but with some operations limited. To remove the limitation, you need to purchase a license.