public long DownloadMessageHeaders( int messageInboxIndex, Stream output )
Shows how to connect to a POP3 server and download headers of a message.
using System; using System.IO; using ComponentPro.Net; using ComponentPro.Net.Mail; ... const string serverName = "myserver"; const string user = "name@domain.com"; const string password = "password"; const int port = 995; const SslSecurityMode securityMode = SslSecurityMode.Implicit; Pop3 client = new Pop3(); try { Console.WriteLine("Connecting POP3 server: {0}:{1}...", serverName, port); // Connect to the server. client.Connect(serverName, port, securityMode); // Login to the server. Console.WriteLine("Logging in as {0}...", user); client.Authenticate(user, password); // Get mailbox info. Pop3MailboxStat info = client.GetMailboxStat(); // Show the number of messages in the selected folder. Console.WriteLine("{0} messages found.", info.MessageCount); // Get the message list. Console.WriteLine("Getting message list..."); Pop3MessageCollection list = client.ListMessages(Pop3EnvelopeParts.FullHeaders); Pop3Message message; for (int i = 0; i < list.Count; i++) { message = list[i]; // Print out message uniqueid and sequence id Console.WriteLine("UniqueId: {0}, Sequence Num: {1}", message.UniqueId, message.MessageInboxIndex); Console.WriteLine("From: {0}, To: {1}, Subject: '{2}'", message.From, message.To, message.Subject); Console.WriteLine(); } // Get the message list. Console.WriteLine("Getting message list..."); list = client.ListMessages(Pop3EnvelopeParts.MessageInboxIndex); for (int i = 0; i < list.Count; i++) { message = list[i]; // Download message headers to a stream. Stream s = new MemoryStream(); client.DownloadMessageHeaders(message.MessageInboxIndex, s); // Load message from the Stream object. MailMessage msg = new MailMessage(s); // Print out message uniqueid and sequence id Console.WriteLine("Inbox Index: {0}", message.MessageInboxIndex); Console.WriteLine("From: {0}, To: {1}, Subject: '{2}'", msg.From, msg.To, msg.Subject); Console.WriteLine(); } // Disconnect. Console.WriteLine("Disconnecting..."); client.Disconnect(); } catch (Pop3Exception pop3Exc) { Console.WriteLine(string.Format("An POP3 error occurred: {0}, ErrorStatus: {1}", pop3Exc.Message, pop3Exc.Status)); } catch (Exception exc) { Console.WriteLine(string.Format("An error occurred: {0}", exc.Message)); }