Pop3BeginDownloadMessage Method |
Note: This API is now obsolete.
Namespace: MailBee.Pop3Mail
[ObsoleteAttribute("This method is obsolete in .NET 4.5+. Use DownloadEntireMessageAsync or DownloadMessageHeaderAsync instead.")] public IAsyncResult BeginDownloadMessage( int index, int bodyLineCount, AsyncCallback callback, Object state )
Exception | Condition |
---|---|
MailBeeInvalidStateException | There is already an operation in progress. |
This method is an asynchronous version of DownloadMessageHeader(Int32).
If multiple messages or message headers are downloaded, it's recommended to use BeginDownloadMessages(Int32, Int32, Int32, AsyncCallback, Object) method, since it can operate much faster if the server supports pipelining.
// To use the code below, import MailBee namespaces at the top of your code. using MailBee; using MailBee.Pop3Mail; using MailBee.Mime; // Put the code below inside your class. // The actual code. private void Form1_Load(object sender, System.EventArgs e) { Pop3 pop = new Pop3(); // Let MailBee process events. pop.RaiseEventsViaMessageLoop = false; pop.Connect("pop.somehost.com"); pop.Login("jdoe", "secret"); // Initiate an asynchronous download attempt. // bodyLineCount = -1 to indicate the entire message must be downloaded. pop.BeginDownloadMessage(1, -1, null, null); // Simulate some lengthy work here... for (int i = 0; i < 100; i++) { // Make a portion of the work. System.Threading.Thread.Sleep(10); // Process events which were raised during execution of the work above. pop.Wait(0); } // End the message download operation and return MailMessage object. // If the operation is still in progress at the moment when // this method starts, the method will wait until the operation completion. MailMessage msg = pop.EndDownloadMessage(); // Save all attachments into C:\Temp folder. msg.Attachments.SaveAll(@"C:\Temp"); // Disconnect from the server. pop.Disconnect(); }