从Exchange电子邮件地址获取自动发现URL

时间:2010-05-04 10:23:29

标签: exchange-server exchangewebservices autodiscovery

我开始使用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,它可以毫无困难地找到所有内容。

所以问题是......

  1. https://domain.exchangeserver.org/autodiscover/autodiscover.xml应该有效吗?我在尝试连接时错过了一步?或者,

  2. 是否有一些技巧(可能涉及ping电子邮件地址?)Apple Mail和其他客户端在发送自动发现请求之前用于将地址解析为OWA子域?

  3. 感谢任何知道或可以猜测的人。

1 个答案:

答案 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件事。