C# 如何连接到Exchange?
在我的公司里,最简单的事情就是检索邮件。我试过Imap,但没有成功,(ImapX根本没有连接,也没有显示错误),于是我来到EWS 但也有一些巫术的参与。 下面是有一些错误的代码:C# 如何连接到Exchange?,c#,exchange-server,C#,Exchange Server,在我的公司里,最简单的事情就是检索邮件。我试过Imap,但没有成功,(ImapX根本没有连接,也没有显示错误),于是我来到EWS 但也有一些巫术的参与。 下面是有一些错误的代码: ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1); service.TraceEnabled = true; service.TraceFlags = Trace
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
service.TraceEnabled = true;
service.TraceFlags = TraceFlags.All;
service.UseDefaultCredentials = true;
service.Url = new Uri("https://some.com/EWS/Exchange.asmx"); // The request failed. Unable to connect to the remote server
var folder = Folder.Bind(service, WellKnownFolderName.Inbox);
///////////////////another try
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
service.TraceEnabled = true;
service.TraceFlags = TraceFlags.All;
service.UseDefaultCredentials = true;
service.AutodiscoverUrl("someone@some.com"); // Discover server not found
var folder = Folder.Bind(service, WellKnownFolderName.Inbox);
但是,我能够连接到wsdl版本:
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
service.TraceEnabled = true;
service.TraceFlags = TraceFlags.All;
service.UseDefaultCredentials = true;
service.Url = new Uri("https://some.com:444/EWS/Services.wsdl");//Wow! It worked.
var folder = Folder.Bind(service, WellKnownFolderName.Inbox);//duh, Method Not Allowed ........
return null;
我该如何连接到EWS?我可以通过Outlook连接,并从我的域帐户的Autodiscover.xml文件中获取所有这些地址。这个问题让我大吃一惊
更新
以下是IMAP服务器的示例:
var client = new ImapX.ImapClient("imap.some.com", 993, true);
client.Connect(); //just do nothing. nothing is connected, no errors.
确保已为EWS Web服务配置autodisocver。使用microsoft测试连接工具分析exchange发现设置: 像这样使用它:
var ESserver = ExchangeServerService.Connect();
鉴于所有电子邮件客户端都可以使用POP3和IMAP4连接到Exchange,您应该解释您尝试了什么以及出现了什么问题。Outlook不使用web服务进行连接,它使用IMAP4As作为代码-web服务由WSDL定义。没有“WSDL版本”。如果您使用WSDL URL生成代理,您甚至不需要指定URL,它将作为默认地址存储在代理中。最后,您的第一个URL和第二个URL不使用相同的端口。SSL使用端口443。第二个URL使用端口444我通过该URL获得的,它只是向我展示了svcutil的示例。exe@Panagiotis很抱歉,你的回答不正确。Outlook连接到Microsoft Exchange环境时,请使用默认MAPI或更高版本的MAPI over HTTP。也不使用IMAP或POP3,因此可能会根据默认设置禁用。有关更多信息,请参阅。还要注意的是,Outlook for MAC使用EWS(没有pop3或MPAI),正如我所写的,我知道这是MSDN的精确副本,而且没有-这不起作用。找不到Discovery server。所以这是您的问题,而不是实际的实现。是的,这是我的问题。这就是问题出现的原因。有没有更安全的方法来检查它,而不是将我的凭证传递给第三方?我同意。。正如他们在免责声明中提到的,“我们强烈建议您为使用此工具创建一个测试帐户,并在完成连接测试后立即删除此帐户。”如果这对您可行,请尝试创建一个测试帐户。
var ESserver = ExchangeServerService.Connect();