ComponentPro UltimateMail

      AuthenticateAsync(String, String, ImapAuthenticationMethod) Method

      See AlsoMembers Options: Show AllLanguage Filter: AllSend comments on this topic to ComponentPro
      Asynchronously authenticates the specified user to the remote IMAP server with the specified credentials using the specified authentication method.

      Syntax

      public ExtendedAsyncResult AuthenticateAsync(
         string userName, 
         string password, 
         ImapAuthenticationMethod authenticationMethod
      )

      Parameters

      userName
      The username.
      password
      Password for the given username.
      authenticationMethod
      The IMAP authentication method.

      Return Value

      An object that references the asynchronous operation.

      Examples

      Asynchronously connect to an IMAP server and list existing mailboxes (Task-based asynchronous approach).

      using System;
      using System.ComponentModel;
      using System.Text;
      using ComponentPro.Net.Mail;
      using ComponentPro;
      
      ...
      
      // Create a new instance.
      Imap client = new Imap();
      
      try
      {
          // Connect to the IMAP server asynchronously. 
          await client.ConnectAsync("myserver");
      
          // Or you can specify the IMAP port with 
          // await client.ConnectAsync("myserver", 143); 
       
          // Authenticate the user asynchronously. 
          await client.AuthenticateAsync("userName", "password");
      
          // Do something here... 
          StringBuilder sb = new StringBuilder();
      
          FolderCollection list = client.ListFolders();
          for (int i = 0; i < list.Count; i++)
          {
              sb.AppendFormat("{0} - {1}\r\n", i + 1, list[i].Name);
          }
      
          Console.WriteLine(sb.ToString());
      
          // ... 
       
          // Disconnect asynchronously. 
          await client.DisconnectAsync();
      }
      catch (Exception ex)
      {
          Console.WriteLine("Error: " + ex.ToString());
      }

      Asynchronously connect to an IMAP server and list existing mailboxes (Event-based asynchronous approach).

      using System;
      using System.ComponentModel;
      using System.Text;
      using ComponentPro.Net.Mail;
      using ComponentPro;
      
      ...
      
      public void DoAsyncConnect()
      {
          // Create a new instance. 
          Imap client = new Imap();
      
          client.ConnectCompleted += client_ConnectCompleted;
          client.AuthenticateCompleted += client_AuthenticateCompleted;
          client.DisconnectCompleted += client_DisconnectCompleted;
      
          // Connect to the IMAP server asynchronously. 
          client.ConnectAsync("myserver");
      
          // Or you can specify the IMAP port with 
          // client.ConnectAsync("myserver", 143); 
       
          // Your code here 
          // ...
      }
      
      void client_ConnectCompleted(object sender, ExtendedAsyncCompletedEventArgs<string> e)
      {
          Imap client = (Imap)sender;
          if (e.Error != null)
          {
              Console.WriteLine("Error: " + e.Error.ToString());
              return;
          }
      
          // Authenticate the user asynchronously. 
          client.AuthenticateAsync("userName", "password");
      }
      
      void client_AuthenticateCompleted(object sender, AsyncCompletedEventArgs e)
      {
          Imap client = (Imap)sender;
          if (e.Error != null)
          {
              Console.WriteLine("Error: " + e.Error.ToString());
              return;
          }
      
          // Do something here... 
          StringBuilder sb = new StringBuilder();
      
          FolderCollection list = client.ListFolders();
          for (int i = 0; i < list.Count; i++)
          {
              sb.AppendFormat("{0} - {1}\r\n", i + 1, list[i].Name);
          }
      
          Console.WriteLine(sb.ToString());
      
          // ... 
       
          // Disconnect asynchronously. 
          client.DisconnectAsync();
      }
      
      void client_DisconnectCompleted(object sender, ExtendedAsyncCompletedEventArgs<string> e)
      {
          Imap client = (Imap)sender;
          if (e.Error != null)
          {
              Console.WriteLine("Error: " + e.Error.ToString());
          }
      }

      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)

      See Also