title: exchangelib - All steps in the autodiscover protocol failed
body: <p>I have a problem with using exchangelib in python. I try this example code:</p>
  
  <pre class="lang-python prettyprint-override"><code>from exchangelib import DELEGATE, Account, Credentials
  
  creds = Credentials(
      username='xxxx\\username', 
      password="mypassword"
  )
  
  account = Account(
      primary_smtp_address='surname.name@xxxx.fr',
      credentials=creds, 
      autodiscover=True, 
      access_type=DELEGATE
  )
  
  # Print first 10 inbox messages in reverse order
  for item in account.inbox.all().order_by('-datetime_received')[:10]:
      print(item.subject, item.body, item.attachments)
  
  </code></pre>
  
  <p>I tried differents usernames but nothing works and I have always the same error message : </p>
  
  <blockquote>
    <p><code>AutoDiscoverFailed: All steps in the autodiscover protocol failed</code></p>
  </blockquote>
  
  <p>By the way, just in case it could help, i tried to use the Exchange Web service coded for C# and it works perfectly fine with this creds, i can send a mail:</p>
  
  <pre class="lang-cs prettyprint-override"><code>static void Main(string[] args)
  {
      ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
      // The last parameter is the domain name
      service.Credentials = new WebCredentials("username", "password", "xxxx.lan");
      service.AutodiscoverUrl("surname.name@xxxx.fr", RedirectionUrlValidationCallback);
      EmailMessage email = new EmailMessage(service);
      email.ToRecipients.Add("surname.name@xxxx.fr");
      email.Subject = "salut ";
      email.Body = new MessageBody("corps du message");
      email.Send();
  }
  
  private static bool RedirectionUrlValidationCallback(string redirectionUrl)
  {
      // The default for the validation callback is to reject the URL.
      bool result = false;
  
      Uri redirectionUri = new Uri(redirectionUrl);
  
      /* Validate the contents of the redirection URL. In this simple validation
         callback, the redirection URL is considered valid if it is using HTTPS
         to encrypt the authentication credentials. */
      if (redirectionUri.Scheme == "https")
      {
          result = true;
      }
      return result;
  }
  </code></pre>
  
  <p>Thanks in advance !</p>