2011-05-16 2 views
2

여기 내 코드입니다 :나는 C#에서 EWS의 도움으로 이메일을받을 필요가

using System; 
using System.Net; 
using MailListClient.MailListServiceReference; 
using Microsoft.Exchange.WebServices.Autodiscover; 
using Microsoft.Exchange.WebServices.Data; 

namespace MailListClient 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      var service = GetBinding(); 

      ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true; 

      try 
      { 
       FindItemsResults<Item> findResults = service.FindItems(
        WellKnownFolderName.Inbox, 
        new ItemView(10)); 

       foreach (Item item in findResults.Items) 
        Console.WriteLine(item.Id); 
      } 
      catch (Exception ex) 
      { 
       Console.WriteLine("Error: " + ex.Message); 
       Console.ReadLine(); 
      } 
     } 

     static ExchangeService GetBinding() 
     { 
      ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP1); 
      service.Credentials = new WebCredentials("[email protected]", "password"); 
      try 
      { 
       service.Url = new Uri("https://email.com/AutoDiscover/AutoDiscover.xml"); 
      } 
      catch (AutodiscoverRemoteException ex) 
      { 
       Console.WriteLine("Exception thrown: " + ex.Error.Message); 
      } 
      return service; 
     } 
    } 
} 

는하지만 예외를 얻을 : 요청이 실패했습니다. 원격 서버에서 오류를 반환했습니다 : (404) 찾을 수 없습니다. 무엇이 문제입니까?

+1

어떤 시점에서 예외가 발생합니까? 코드를 진행할 때 어떤 일이 발생합니까? – AllenG

+0

이 행에서 가져옵니다. FindItemsResults findResults = service.FindItems (' – anleon

답변

3

URL이 잘못되었을 수 있습니다.

https://[fully qualified domain name]/EWS/Exchange.asmx 

코드의 나머지는 피상적 인 수준에서 제대로 표시 : 여기에 확실히 일부 응용 프로그램 (2007 및 2010)에서 일하고 코드에서 내가 사용하고 URL 형식입니다.

+0

'https://email.com/EWS/Exchange'로 변경하더라도 동일한 예외입니다. .asmx' :/ – anleon

+1

@anlean - 말 그대로 email.com을 사용하거나 예 도메인으로 사용하려고하십니까? 이 링크로 이동하면 Apache 서버에서 발생하는 404 오류 페이지가 표시되어 EWS를 호스팅하지 않을 것으로 보입니다. –

+0

전자 메일은 가짜는 아니지만 "실제"전자 메일을 받고 구문 분석 한 다음 다른 서버/시스템/모듈로 보내야하기 때문에 EWS가 작동하는지 테스트하기 위해 등록했습니다. EWS를 운영하는 이메일 제공 업체가 있습니까? 또는 어떻게 로컬로 할 수 있습니까? – anleon

3

요청한 파일이 존재하지 않기 때문에. 나는 그것이 순수하게 길항하는 것처럼 들리지만, 가장 간단한 대답입니다.

필요에 따라 다음 절차에 따라

  1. 이 Fiddler2를 얻고 요청을 추적. 그것이 가야한다고 생각하는 곳으로 가고 있습니까?
  2. 철자가 틀리지 않았는지 확인하십시오.
  3. IT 지원부에서 제공 한 문서 참조
  4. URL로 IT 부서에 가서 왜 작동하지 않는지 묻습니다.
+0

Fiddler2는 매우 유용한 도구입니다. 감사합니다. =) – anleon

관련 문제