我开始使用Exchange 2007服务器的地址:
user@domain.exchangeserver.org
我尝试发送自动发现请求,如MSDN所述。
我尝试使用TechNet White Paper中记录的通用自动发现地址。
因此,在PHP上使用curl
,我发送了以下请求:
<Autodiscover
xmlns="http://schemas.microsoft.com/exchange/autodiscover/outlook/requestschema/2006">
<Request>
<EMailAddress>user@domain.exchangeserver.org</EMailAddress>
<AcceptableResponseSchema>
http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a
</AcceptableResponseSchema>
</Request>
</Autodiscover>
到以下网址:
https://domain.exchangeserver.org/autodiscover/autodiscover.xml
但没有得到回应,只是最终超时。
我也尝试过:
https://autodiscover.domain.exchangeserver.org/autodiscover/autodiscover.xml
结果相同。
现在,由于我的更大目标是使用自动发现和Exchange Web服务,并且由于所有EWS URL通常使用与Outlook Web Access地址相同的子域,我想我会看到是否也是如此用于自动发现URL。由于OWA URL是:
OWA: https://wmail.domain.exchangeserver.org
我试过了:
https://wmail.domain.exchangeserver.org/autodiscover/autodiscover.xml
果然,我收到了预期的回应。
但是,我只知道OWA子域,因为它是我可以访问的服务器,而且我用来测试所有内容。如果这是一个实时应用程序并且用户输入了他们自己的Exchange电子邮件,我肯定不会知道它或者能够猜到它。
我知道自动发现设置必须在不知道OWA URL的情况下才可用,因为我可以输入:
user@domain.exchangeserver.org
进入Snow Leopard上的Apple Mail,它可以毫无困难地找到所有内容。
所以问题是......
https://domain.exchangeserver.org/autodiscover/autodiscover.xml
应该有效吗?我在尝试连接时错过了一步?或者,
是否有一些技巧(可能涉及ping电子邮件地址?)Apple Mail和其他客户端在发送自动发现请求之前用于将地址解析为OWA子域?
感谢任何知道或可以猜测的人。
答案 0 :(得分:13)
在对Google进行了一些敲击之后,我在MSDN上找到了以下 非常 有用的文章:
http://msdn.microsoft.com/en-us/library/ee332364.aspx
特别是"Calling Autodiscover"
我仍然试图弄清楚如何通过LDAP做Active Directory Service Connection Point search
,但步骤4,至少对我的服务器来说,就像一个魅力:
应用程序向http://autodiscover.contoso.com/autodiscover/autodiscover.xml发送未经身份验证的GET请求。 (请注意,这是一个非SSL端点)。
如果GET请求返回302重定向响应,则获取 来自位置HTTP的重定向URL 标题,并按描述验证它 在“验证a 可能不安全的重定向URL“ 在本文后面。
果然,请求发送到:
http://domain.exchangeserver.org/autodiscover/autodiscover.xml
发回302重定向网址:
https://wmail.domain.exchangeserver.org/autodiscover/autodiscover.xml
但是这篇文章给出了一系列步骤,所以任何想要为Exchange客户端实现自动发现的人在放弃之前都要尝试5件事。