これが私のシナリオです。Exchange 2010 SP2 アカウントからの電子メールを読まなければなりません。Exchange Web サービスを使用する必要があり、POP3 と IMAP がブロックされています。ユーザーがイントラネットの Web ブラウザーからのみ自分のアカウントにアクセスできる環境でアプリをテストする必要があります。アプリをこのイントラネットに直接デバッグすることはできません。アカウントにアクセスするためのこのスニペットがあります。
private void Dowork()
{
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
string dominio = "domain";
string usuario = "user";
string password = "password";
service.Credentials = new NetworkCredential(usuario, password, dominio);
string url = usuario + "@" + dominio + ".com";
service.AutodiscoverUrl(url, RedirectionUrlValidationCallback);
//service.AutodiscoverUrl(url);
FindItemsResults<Item> findResults = service.FindItems(
WellKnownFolderName.Inbox,
new ItemView(10));
string content = string.Empty;
foreach (Item item in findResults.Items)
{
EmailMessage email = EmailMessage.Bind(service, item.Id);
email.Load();
content += item.Subject + "\n";
content += email.From.Address + "\n";
content += email.Body + "\n\n";
//Console.WriteLine(item.Subject);
//Console.WriteLine(email.From.Address);
//Console.WriteLine(email.Body);
}
string result = content;
}
// Create the callback to validate the redirection URL.
static bool RedirectionUrlValidationCallback(String redirectionUrl)
{
// Perform validation.
return (redirectionUrl == "https://autodiscover-s.outlook.com/autodiscover/autodiscover.xml");
}
この行を使用する場合:
service.AutodiscoverUrl(url);
次のエラーが表示されます。
「自動検出は、https: //autodiscover.colpatria.com/autodiscover/autodiscover.xml への安全でない可能性のあるリダイレクトをブロックしました。自動検出がリダイレクトを追跡できるようにするには、AutodiscoverUrl(string, AutodiscoverRedirectionUrlValidationCallback) オーバーロードを使用してください。」
メソッドRedirectionUrlValidationCallback
が実装されたので、URLが正しいかどうかわかりません。実際には、このエラーが発生しています:
「自動検出サービスが見つかりませんでした」.
自動検出が正しく構成されていない可能性はありますか?? 私は取引所の管理者ではありませんが、自動検出が機能しているかどうかを確認するにはどうすればよいですか?? この機能を構成する必要があることを取引所管理者に伝える引数が必要です。助けてくれてありがとう。