.net UserDefaultCredentials有什么问题
我正在使用Exchange2007SP1服务器公开的ExchangeWeb服务从我的应用程序中创建电子邮件,遇到了一个无法解决的问题 我在以没有邮箱的帐户进行请求时收到此响应,您必须为任何可分辨文件夹ID指定邮箱主SMTP地址。每次我尝试从web应用程序创建Item时 仅当UseDefaultCredentials=True时,才会在Windows 2003+IIS6上发生此情况。但是,如果我使用新的System.Net.NetworkCredentialuser和password设置凭据,就可以了。后者不是生产中的一种选择 最奇怪的是,如果我在本地机器上从VS2008运行UseDefaultCredentials=True,但exchange服务器是同一台远程机器,它就可以工作。怎么了 为了提高可读性,我在下面粘贴了一个使用ExchangeWSAPI1.0的代码示例。但是如果我直接使用exchangews,也会遇到同样的问题.net UserDefaultCredentials有什么问题,.net,asp.net,security,.net,Asp.net,Security,我正在使用Exchange2007SP1服务器公开的ExchangeWeb服务从我的应用程序中创建电子邮件,遇到了一个无法解决的问题 我在以没有邮箱的帐户进行请求时收到此响应,您必须为任何可分辨文件夹ID指定邮箱主SMTP地址。每次我尝试从web应用程序创建Item时 仅当UseDefaultCredentials=True时,才会在Windows 2003+IIS6上发生此情况。但是,如果我使用新的System.Net.NetworkCredentialuser和password设置凭据,就可
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("example@domain.com")
message.SendAndSaveCopy()
感谢您的想法。这是桌面应用程序还是网络应用程序?如果是后者,那么DefaultCredentials是否正在使用应用程序池标识 如果您使用:
System.Net.CredentialCache.DefaultCredentials
是否将DefaultCredentials用作false?通过使用模拟解决了问题。无法将DefaultCredentials强制转换为ExchangeCredentials-我改为使用DefaultNetworkCredentials。但结果是一样的。当以没有邮箱的帐户进行请求时,您必须为任何可分辨文件夹指定邮箱主SMTP地址。它是web应用还是桌面应用?您使用了什么身份验证模式?仅Windows集成身份验证。这不是一个有用的答案。没有解释什么是模拟,它如何是正确的解决方案,甚至如何使用它。现在必须有人发布另一个问题,询问如何实际使用该解决方案。