Exchange

自動發現為 IMAP 配置客戶端

  • March 20, 2013

當我有一個非萬用字元證書時,我有一個單獨的 Exchange 2010 伺服器,其自動發現服務以前執行良好(正確配置 RPC-over-HTTP)。在我用萬用字元證書替換證書後,自動發現服務繼續將新客戶端配置為 IMAP。這絕對不是期望的行為。我已經應用Set-OutlookProvider命令將受信任的名稱更改為msstd:*.mydomain.com. TestExchangeConnectivity.com 說一切都很好,只有一個關於舊 Windows 機器上受信任的根更新的警告。然而,自動發現顯然不起作用。我能做什麼/為什麼自動發現會配置 IMAP 而不是 RPC-over-HTTP?

編輯:順便說一句,當我手動配置帳戶並為所有連接速度指定 HTTP 代理設置時,它工作正常。唯一粗略的是在檢查名稱部分,它不需要 DOMAIN\user 格式,而只需要完整的實際名稱。

編輯 2:下面的自動發現響應:

<?xml version="1.0"?>
<Autodiscover xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/exchange/autodiscover/responseschema/2006">
<Response xmlns="http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a">
<User>
<DisplayName>J Shin</DisplayName>
<LegacyDN>/o=mydomain/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=J Shin</LegacyDN>
<DeploymentId>e8362375-54d7-471c-acd9-7e5116e4810e</DeploymentId>
</User>
<Account>
<AccountType>email</AccountType>
<Action>settings</Action>
<Protocol>
<Type>EXCH</Type>
<Server>myserver.corp.mydomain.com</Server>
<ServerDN>/o=mydomain/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=myserver</ServerDN>
<ServerVersion>738280F7</ServerVersion>
<MdbDN>/o=mydomain/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=myserver/cn=Microsoft Private MDB</MdbDN>
<ASUrl>https://myserver.corp.mydomain.com/EWS/Exchange.asmx</ASUrl>
<OOFUrl>https://myserver.corp.mydomain.com/EWS/Exchange.asmx</OOFUrl>
<OABUrl>https://mail.mydomain.com/OAB/84798c85-90d3-45fc-a67e-72d928e57ae6/</OABUrl>
<UMUrl>https://myserver.corp.mydomain.com/EWS/UM2007Legacy.asmx</UMUrl>
<Port>0</Port>
<DirectoryPort>0</DirectoryPort>
<ReferralPort>0</ReferralPort>
<PublicFolderServer>myserver.corp.mydomain.com</PublicFolderServer>
<AD>EMDDC21.corp.mydomain.com</AD>
<EwsUrl>https://myserver.corp.mydomain.com/EWS/Exchange.asmx</EwsUrl>
<EcpUrl>https://myserver.corp.mydomain.com/ecp/</EcpUrl>
<EcpUrl-um>?p=customize/voicemail.aspx&exsvurl=1</EcpUrl-um>
<EcpUrl-aggr>?p=personalsettings/EmailSubscriptions.slab&exsvurl=1</EcpUrl-aggr>
<EcpUrl-mt>PersonalSettings/DeliveryReport.aspx?exsvurl=1&IsOWA=<IsOWA>&MsgID=<MsgID>&Mbx=<Mbx></EcpUrl-mt>
<EcpUrl-ret>?p=organize/retentionpolicytags.slab&exsvurl=1</EcpUrl-ret>
<EcpUrl-sms>?p=sms/textmessaging.slab&exsvurl=1</EcpUrl-sms>
</Protocol>
<Protocol>
<Type>EXPR</Type>
<Server>mail.mydomain.com</Server>
<ASUrl>https://mail.mydomain.com/ews/exchange.asmx</ASUrl>
<OOFUrl>https://mail.mydomain.com/ews/exchange.asmx</OOFUrl>
<OABUrl>https://mail.mydomain.com/OAB/84798c85-90d3-45fc-a67e-72d928e57ae6/</OABUrl>
<UMUrl>https://mail.mydomain.com/ews/UM2007Legacy.asmx</UMUrl>
<Port>0</Port>
<DirectoryPort>0</DirectoryPort>
<ReferralPort>0</ReferralPort>
<SSL>On</SSL>
<AuthPackage>Ntlm</AuthPackage>
<CertPrincipalName>msstd:*.mydomain.com</CertPrincipalName>
<EwsUrl>https://mail.mydomain.com/ews/exchange.asmx</EwsUrl>
<EcpUrl>https://mail.mydomain.com/ecp/</EcpUrl>
<EcpUrl-um>?p=customize/voicemail.aspx&exsvurl=1</EcpUrl-um>
<EcpUrl-aggr>?p=personalsettings/EmailSubscriptions.slab&exsvurl=1</EcpUrl-aggr>
<EcpUrl-mt>PersonalSettings/DeliveryReport.aspx?exsvurl=1&IsOWA=<IsOWA>&MsgID=<MsgID>&Mbx=<Mbx></EcpUrl-mt>
<EcpUrl-ret>?p=organize/retentionpolicytags.slab&exsvurl=1</EcpUrl-ret>
<EcpUrl-sms>?p=sms/textmessaging.slab&exsvurl=1</EcpUrl-sms>
</Protocol>
<Protocol>
<Type>WEB</Type>
<Port>0</Port>
<DirectoryPort>0</DirectoryPort>
<ReferralPort>0</ReferralPort>
<Internal>
<OWAUrl AuthenticationMethod="Basic, Fba">https://myserver.corp.mydomain.com/owa/</OWAUrl>
<Protocol>
<Type>EXCH</Type>
<ASUrl>https://myserver.corp.mydomain.com/EWS/Exchange.asmx</ASUrl>
</Protocol>
</Internal>
<External>
<OWAUrl AuthenticationMethod="Fba">https://mail.mydomain.com/owa/</OWAUrl>
<Protocol>
<Type>EXPR</Type>
<ASUrl>https://mail.mydomain.com/ews/exchange.asmx</ASUrl>
</Protocol>
</External>
</Protocol>
</Account>
</Response>
</Autodiscover>

我希望我能早點回答這個問題,因為我已經忘記瞭如何解決這個問題的一些細節(主要是通過反複試驗)——所以如果我記錯了,請用適當的鹽粒來回答這個問題。這是我所做的:

  1. 使用 Exchange 而不是 IIS7.5 為我的萬用字元證書重新生成了 CSR
  2. 獲得新證書並確認在其他使用場所有效
  3. 將內部外部URL更改為公共名稱 ( mail.mycompany.com)
  4. 創建了一個內部 DNS 記錄mail.mycompany.com以指向只能從內部訪問的介面(不是從 WAN 獲取 NAT 流量的介面)
  5. 驗證 DNS 解析是否按預期工作(我從內部獲取內部 IP,從外部獲取外部 IP)
  6. 將所有 IIS Exchange 身份驗證設置重置為 Microsoft 提供的預設值
  7. 允許 RPC-over-HTTP 的 NTLM 身份驗證
  8. 更改了 PowerShell 中的自動發現設置以反映以前的更改
  9. 將自動發現設置更改為始終首選 RPC-over-HTTP
  10. 通過嘗試使用自動發現連接到我的郵件伺服器來驗證問題已經消失。

一個小問題是,當從外部進行身份驗證時(即,不通過 SSO),我必須指示使用者以MYCOMPANY\username格式提供他們的使用者名。

引用自:https://serverfault.com/questions/464147