2009-10-05 4 views
0

Exchange 2007 SP1 서버에서 노출 된 Exchange 웹 서비스를 사용하여 내 응용 프로그램에서 전자 메일을 만들었습니다. 알아낼 수없는 문제가 발생했습니다.UserDefaultCredentials의 문제점

이 응답을받습니다. "사서함이없는 계정으로 요청할 때 고유 폴더 ID에 대한 사서함 기본 SMTP 주소를 지정해야합니다." 매번 웹 응용 프로그램에서 CreateItem()을 시도합니다.

UseDefaultCredentials = True 인 경우 Windows 2003 + IIS6에서만 발생합니다. 그러나 신분을 New System.Net.NetworkCredential("user","password")으로 설정하면 문제가 없습니다. 후자는 프로덕션에서 옵션이 아닙니다.

가장 이상한 점은 로컬 컴퓨터의 VS2008에서 실행하면 UseDefaultCredentials = True이 작동한다는 것입니다 (하지만 Exchange 서버는 동일한 원격 컴퓨터 임). 뭐가 잘못 되었 니?

더 읽기 쉽게하기 위해 Exchange WS API 1.0을 사용하는 코드 예제를 붙여 넣었습니다. 그러나 Exchange WS를 직접 사용하면 똑같은 문제가 발생합니다.

Dim serviceObj As ExchangeService = _ 
     New ExchangeService(ExchangeVersion.Exchange2007_SP1) 
    serviceObj.UseDefaultCredentials = True 
    serviceObj.Url = New Uri(serviceUrl) 
    Dim message = New EmailMessage(serviceObj) 
    message.Subject = "Greetings" 
    message.Body = New MessageBody(BodyType.Text, "Hello World") 
    message.ToRecipients.Add("[email protected]") 
    message.SendAndSaveCopy() 

어떤 생각에 감사드립니다.

답변

-2

가장을 사용하여 문제를 해결했습니다.

+1

이것은 유용한 답변이 아닙니다. 가장이 무엇인지 또는 어떻게 올바른 해결책인지 또는 사용 방법에 대한 설명이 없습니다. 이제 누군가는 실제로 솔루션을 사용하는 방법을 묻는 또 다른 질문을 게시해야합니다. – EKet

0

데스크톱 앱입니까, 웹 앱입니까? 아마 후자의 경우 DefaultCredentials는 앱 풀 ID를 사용하고 있습니까?

당신은 무엇을 사용하면 어떻게됩니까 : 거짓으로

System.Net.CredentialCache.DefaultCredentials 

그리고 UseDefaultCredentials?

+0

DefaultCredentials를 ExchangeCredentials에 캐스팅 할 수 없습니다. 대신 DefaultNetworkCredentials를 사용했습니다. 그러나 그것은 같은 결과를 낳았다. (사서함이없는 계정으로 요청할 때는 고유 폴더 ID에 대해 사서함 기본 SMTP 주소를 지정해야합니다.) –

+0

웹 응용 프로그램이나 데스크톱 응용 프로그램입니까? –

+0

웹 응용 프로그램입니다 –