ComponentPro UltimateBounceInspector

      GetFolderInfoAsync(String, Object) Method

      See AlsoMembers Options: Show AllLanguage Filter: AllSend comments on this topic to ComponentPro
      Asynchronously gets folder information without selecting it. Only TotalMessages, RecentMessages, NotSeenMessages, UidValidity, and UidNext properties of the Folder class are available after calling this method.

      Syntax

      public Task<Folder> GetFolderInfoAsync(
         string folder, 
         object userState = null
      )

      Parameters

      folder
      The folder name to get information about.
      userState
      A user-provided object that identifies this particular asynchronous operation.

      Return Value

      An object that references the asynchronous operation.

      Examples

      Get information of an existing mailboxes asynchronously (Task-based asynchronous approach).

      using System;
      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");
      
      // ... 
       
      // Obtain information about the 'INBOX' mailbox.
      Folder folder = await client.GetFolderInfoAsync("INBOX");
      
      // ...
      
      Console.WriteLine("The number of recent messages: " + folder.RecentMessages);
      Console.WriteLine("The number of new unseen messages messages: " + folder.NewUnseenMessages);
      
      // ... 
       
      // Disconnect.
      client.Disconnect();

      Get information of an existing mailboxes asynchronously (Event-based asynchronous approach)

      using System;
      using System.ComponentModel;
      using ComponentPro;
      using ComponentPro.Net.Mail;
      
      ...
      
      public void DoGetMailboxAsync()
      {
          // 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.GetFolderInfoCompleted += client_GetMailboxInfoCompleted;
      
          // Obtain information about the 'INBOX' mailbox. 
          client.GetFolderInfoAsync("INBOX");
      
          // ... 
       
          // Disconnect. 
          client.Disconnect();
      }
      
      void client_GetMailboxInfoCompleted(object sender, ExtendedAsyncCompletedEventArgs<Folder> e)
      {
          if (e.Error != null)
          {
              Console.WriteLine("Error: " + e.Error.ToString());
          }
          else 
          {
              Console.WriteLine("The number of recent messages: " + e.Result.RecentMessages);
              Console.WriteLine("The number of new unseen messages messages: " + e.Result.NewUnseenMessages);
          }
      }

      Framework

      .NET Compact Framework.NET Compact Framework

      Supported version: 2.0, 3.5, and 3.9
      Assembly: ComponentPro.Mail.CF (in ComponentPro.Mail.CF.dll)

      .NET Framework.NET Framework

      Supported version: 2.0, 3.0, 3.5, 4.0, 4.5.x, 4.6.x and later
      Assembly: ComponentPro.Mail (in ComponentPro.Mail.dll)

      Xamarin AndroidXamarin Android

      Supported version: 2.3 and later
      Assembly: ComponentPro.Mail.Android (in ComponentPro.Mail.Android.dll)

      Xamarin MacXamarin Mac

      Supported version: 2.0.x and later
      Assembly: ComponentPro.Mail.Mac (in ComponentPro.Mail.Mac.dll)

      Xamarin iOSXamarin iOS

      Supported version: 5.1.x and later
      Assembly: ComponentPro.Mail.iOS (in ComponentPro.Mail.iOS.dll)

      See Also