use*_*567 31 c# exchange-server exchangewebservices ews-managed-api
我正在使用自动发现服务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());
Run Code Online (Sandbox Code Playgroud)
如果我喜欢这样,我会犯一个错误:
无法找到自动发现服务
我必须做些什么来避免这个错误?
Ale*_*lex 32
你Service.Credentials错了,像这样使用它:
Service.Credentials = new WebCredentials(username, password, domainname);
Run Code Online (Sandbox Code Playgroud)
使用域凭据,而不是电子邮件地址.
还要仔细检查以下内容:
new ExchangeService()与服务器的版本匹配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
Run Code Online (Sandbox Code Playgroud)
小智 18
我要指出,如果您尝试访问Office 365,那么Web凭据的格式实际上是WebCredentials(strUsername,strPassword); strUsername是您尝试访问的帐户的电子邮件地址.
我收到此错误,结果发现有人在没有通知我的情况下更改了帐户上的密码!这只是一个错误的密码,这是多么奇怪的错误!
nit*_*123 12
我将建议你启用Traces,以实现以下目的:
Service.TraceEnabled = true;
Run Code Online (Sandbox Code Playgroud)
我遇到了同样的问题,然后当我启用跟踪时,这些跟踪将指导您到底发生了什么.在我的情况下SSL证书问题是解决它我跟随后发布
可能存在许多问题,例如:
autodiscover.domain.com.为了完整性的记录:
我们遇到了这个特殊错误突然停止的服务.由于该服务已无人值守运行数月,使用EWS监控邮箱,结果证明密码已过期.这导致AutoDiscovery失败并出现相同的异常:
无法找到自动发现服务
更新AD中的Exchange用户密码并检查其Password Never Expires属性为我们解决了问题.
小智 7
试着用这个:
Service.Credentials = new WebCredentials("john", "12345678", "MYDOMAIN");
Run Code Online (Sandbox Code Playgroud)
不是这个
Service.Credentials = new WebCredentials("john@mail.com", "12345678", "MYDOMAIN");
Run Code Online (Sandbox Code Playgroud)
注意用户名'john'不是'john@mail.com',它阻止了我使用第二个的几个小时....
检查此电子邮件的密码是否已过期.
如果密码已过期,则会从AutoDiscover收到此错误.
我直接用过:
Url = new Uri("https://outlook.office365.com/EWS/Exchange.asmx")
Run Code Online (Sandbox Code Playgroud)
它对我有用。您可以尝试使用Fiddler和eM Client来查看它们如何用于EWS Managed API完成任务和复制调用。
| 归档时间: |
|
| 查看次数: |
60551 次 |
| 最近记录: |