public event ExtendedAsyncCompletedEventHandler<TResult> ReadResponseCompleted
Use the SendCommand and ReadResponse asynchronous methods to send command and read response (Task-based asynchronous approach).
using System; using System.ComponentModel; using ComponentPro; using ComponentPro.Net.Mail; ... // Create a new instance of the Imap class. Imap client = new Imap(); // Connect to the server. client.Connect("myserver"); // Or you can specify the IMAP port with // client.Connect("myserver", 143); // Login to the server. client.Authenticate("user", "password"); // ... // Send 'HELP' command to the server. await client.SendCommandAsync("HELP", new object[] {}); // ... ImapResponse response = await client.ReadResponseAsync(); // Print out the response. Console.WriteLine(response.RawResponse); // ... // Disconnect. client.Disconnect();
Shows how to use the SendCommand and ReadResponse asynchronous methods (Event-based asynchronous approach).
using System; using System.ComponentModel; using ComponentPro; using ComponentPro.Net.Mail; ... public void DoSendCommandAsync() { // Create a new instance of the Imap class. Imap client = new Imap(); // Connect to the server. client.Connect("myserver"); // Or you can specify the IMAP port with // client.Connect("myserver", 143); // Login to the server. client.Authenticate("user", "password"); // ... // Register an event handler. client.SendCommandCompleted += client_SendCommandCompleted; client.ReadResponseCompleted += client_ReadResponseCompleted; // Send 'HELP' command to the server. client.SendCommandAsync("HELP", new object[] { }); // ... // Disconnect. client.Disconnect(); } void client_ReadResponseCompleted(object sender, ExtendedAsyncCompletedEventArgs<ImapResponse> e) { if (e.Error != null) Console.WriteLine("Error: " + e.Error.ToString()); else // Print out the response. Console.WriteLine(e.Result.RawResponse); } void client_SendCommandCompleted(object sender, AsyncCompletedEventArgs e) { if (e.Error != null) Console.WriteLine("Error: " + e.Error.ToString()); else // Asynchronously read response from the server. ((Imap)sender).ReadResponseAsync(); }