Rebex POP3

POP3, SMTP, MIME, S/MIME libraries for .NET

Download 30-day free trial Buy from $199
More .NET libraries

Back to feature list...

Advanced features

Obtaining info about the mailbox 

To retrieve message count or see of all messages currently in the mailbox, use GetMessageCount or GetMailboxSize methods:

// create POP3 client instance, connect, log in
// ...

// get info about mailbox
int count = client.GetMessageCount();
long size = client.GetMailboxSize();

// print some info
Console.WriteLine("Total mails count: {0}", count);
Console.WriteLine("Total mailbox size: {0}B", size);
' create POP3 client instance, connect, log in
' ...

' get info about mailbox
Dim count As Integer = client.GetMessageCount()
Dim size As Long = client.GetMailboxSize()

' print some info
Console.WriteLine("Total mails count: {0}", count)
Console.WriteLine("Total mailbox size: {0}B", size)

Fine-tuning POP3 behavior 

Pop3 objects makes it possible to specify various low-level settings and workarounds.

Custom commands 

The Pop3 object can execute custom commands, which makes it possible to utilize functionality not yet covered by Rebex API. To send a custom command use the Pop3.SendCommand method. To read the response of this command use the Pop3.ReadResponse method.

POP3 commands either provide a single-line or multi-line response. You need to specify the appropriate mode in the SendCommand method.

The following code sends a single-line STAT and reads its response:

// create POP3 client instance, connect, log in
// ...

// send custom command STAT
client.SendCommand("STAT", false);

// process server response
string response = client.ReadResponse();
Console.WriteLine(response);
' create POP3 client instance, connect, log in
' ...

' send custom command STAT
client.SendCommand("STAT", False)

' process server response
Dim response = client.ReadResponse()
Console.WriteLine(response)

The following code sends a multi-line HELP and reads its response:

// send custom command HELP
client.SendCommand("HELP", true);

// process server response
string response = client.ReadResponse();
while (response != null)
{
    Console.WriteLine(response);
    response = client.ReadResponse();
}
' send custom command HELP
client.SendCommand("HELP", True)

' process server response
Dim response = client.ReadResponse()
While response IsNot Nothing
    Console.WriteLine(response)
    response = client.ReadResponse()
End While

Back to feature list...