38

指定したメールアドレスに自動検出サービスのURLを使用しています。

ExchangeService Service = new ExchangeService(ExchangeVersion.Exchange2010);
Service.Credentials = new WebCredentials("username@domainname.com", "Password");
Service.AutodiscoverUrl("username@domainname.com");
Folder inbox = Folder.Bind(Service, WellKnownFolderName.Inbox);
Console.WriteLine("The folder name is" + inbox.DisplayName.ToString());

私がこれを好きなら、私はエラーになります:

自動検出サービスが見つかりませんでした

このエラーを回避するために私は何をしなければなりませんか?

4

11 に答える 11

35

あなたはService.Credentials間違っています、次のように使用してください:

Service.Credentials = new WebCredentials(username, password, domainname);

メールアドレスではなく、ドメイン資格情報を使用します。

また、次のことを再確認してください。

  1. で指定したバージョンは、new ExchangeService()サーバーの
  2. 渡されたパラメーターService.AutodiscoverUrl();が正しい (データを取得する必要がある電子メール アドレス)

以下は私にとってはうまくいきます(新しいコンソールアプリケーションで):

// Tweaked to match server version
ExchangeService Service = new ExchangeService(ExchangeVersion.Exchange2007_SP1); 

// Dummy but realistic credentials provided below
Service.Credentials = new WebCredentials("john", "12345678", "MYDOMAIN");
Service.AutodiscoverUrl("john.smith@mydomain.it");
Folder inbox = Folder.Bind(Service, WellKnownFolderName.Inbox);
Console.WriteLine("The folder name is " + inbox.DisplayName.ToString());

//Console output follows (IT localized environment, 'Posta in arrivo' = 'Inbox')
> The folder name is Posta in arrivo
于 2013-02-25T11:30:14.237 に答える
8

これを使用してみてください:

Service.Credentials = new WebCredentials("john", "12345678", "MYDOMAIN");

これじゃない

Service.Credentials = new WebCredentials("john@mail.com", "12345678", "MYDOMAIN");

'john'ユーザー名がそうではないことに注意し'john@mail.com'てください。2番目のユーザー名を使用すると、かなりの時間ブロックされました....

于 2013-08-01T07:48:48.050 に答える
8

このメールのパスワードの有効期限が切れていないか確認してください。

パスワードの有効期限が切れている場合、AutoDiscover からこのエラーが表示されます。

于 2015-03-23T18:50:51.010 に答える
4

DNS で自動検出が実際に設定されていることを確認することをお勧めします。次の記事では、セットアップ方法について詳しく説明し、Microsoft リモート接続アナライザーを使用してテストする方法についても説明します。http://www.petri.co.il/autodiscover-configuration-exchange-2010.htm

于 2013-03-03T02:23:35.653 に答える
0

Exchange 2013 で同じ問題が発生しました。私の場合、原因は構成ファイルでの既定のプロキシ宣言であり、おそらく自動検出サービスが正しく機能していませんでした。

<system.net>
    <defaultProxy enabled="true">
      <proxy proxyaddress="http://localhost:8888" bypassonlocal="False"/>
    </defaultProxy>
</system.net>

タグにコメントを付けた後<defaultProxy>、自動検出はサービス URL を見つけることができました。

于 2014-03-03T09:19:46.253 に答える