ComponentPro UltimateMail

      AuthenticateAsync(SspiAuthenticationMethod, String, String, String, String, AsyncCompletedEventHandler, Object) Method

      See AlsoMembers Options: Show AllLanguage Filter: AllSend comments on this topic to ComponentPro
      Asynchronously authenticates the user to the POP3 server using the specified GSSAPI parameters.

      Syntax

      public Task AuthenticateAsync(
         SspiAuthenticationMethod method, 
         string targetName, 
         string userName, 
         string password, 
         string domain, 
         AsyncCompletedEventHandler callback, 
         object userState = null
      )

      Parameters

      method
      Requested SSPI mechanism ('NTLM', 'Kerberos' or 'Negotiate').
      targetName
      The target name. If it is set to null ('Nothing' in VB.NET), server hostname will be used instead.
      userName
      The user name. If it is set to null ('Nothing' in VB.NET), integrated authentication (single sign-on) will be used.
      password
      User's password. Can be set to null ('Nothing' in VB.NET) if integrated authentication (single sign-on) is to be used.
      domain
      User's domain. If it is set to null ('Nothing' in VB.NET), it will be determined from the user name. If not available, the default domain will be used.
      callback
      An optional asynchronous callback to be invoked when this operation completes. This parameter can be null.
      userState
      A user-provided object that identifies this particular asynchronous operation.

      Return Value

      An object that references the asynchronous operation.

      Examples

      Asynchronously connect to a POP3 server and list recent messages.

      using System;
      using System.Text;
      using ComponentPro.Net.Mail;
      using ComponentPro;
      
      ...
      
      // Create a new instance.
      Pop3 client = new Pop3();
      
      // Connect to the POP3 server asynchronously. 
      await client.ConnectAsync("myserver");
      
      // Or you can specify the POP3 port with 
      // client.ConnectAsync("myserver", 110); 
       
      // Authenticate the user asynchronously. 
      await client.AuthenticateAsync("userName", "password");
      
      // Do something here...
      StringBuilder sb = new StringBuilder();
      
      Pop3MessageCollection list = client.ListMessages(Pop3EnvelopeParts.Size | Pop3EnvelopeParts.UniqueId);
      for (int i = 0; i < list.Count; i++)
      {
          sb.AppendFormat("{0} - {1}\r\n", i + 1, list[i].UniqueId);
      }
      
      Console.WriteLine(sb.ToString());
      
      // ... 
       
      // Disconnect asynchronously. 
      await client.DisconnectAsync();
      
      // ...

      Asynchronously connect to a POP3 server and list recent messages.

      using System;
      using System.ComponentModel;
      using System.Text;
      using ComponentPro;
      using ComponentPro.Net.Mail;
      
      ...
      
      public void DoAsyncConnect()
      {
          // Create a new instance. 
          Pop3 client = new Pop3();
      
          client.ConnectCompleted += client_ConnectCompleted;
          client.AuthenticateCompleted += client_AuthenticateCompleted;
          client.DisconnectCompleted += client_DisconnectCompleted;
      
          // Connect to the POP3 server asynchronously. 
          client.ConnectAsync("myserver");
      
          // Or you can specify the POP3 port with 
          // client.ConnectAsync("myserver", 110); 
       
          // Your code here 
          // ...
      }
      
      void client_ConnectCompleted(object sender, ExtendedAsyncCompletedEventArgs<string> e)
      {
          Pop3 client = (Pop3)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)
      {
          Pop3 client = (Pop3)sender;
          if (e.Error != null)
          {
              Console.WriteLine("Error: " + e.Error.ToString());
              return;
          }
      
          // Do something here... 
          StringBuilder sb = new StringBuilder();
      
          Pop3MessageCollection list = client.ListMessages(Pop3EnvelopeParts.Size | Pop3EnvelopeParts.UniqueId);
          for (int i = 0; i < list.Count; i++)
          {
              sb.AppendFormat("{0} - {1}\r\n", i + 1, list[i].UniqueId);
          }
      
          Console.WriteLine(sb.ToString());
      
          // ... 
       
          // Disconnect asynchronously. 
          client.DisconnectAsync();
      }
      
      void client_DisconnectCompleted(object sender, ExtendedAsyncCompletedEventArgs<string> e)
      {
          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