
Android 的預設電子郵件用戶端應該會探測伺服器以取得使用者電子郵件地址的網域Outlook 自動發現。這個錯誤似乎表明至少該協議的前兩個步驟確實有效。
例如,在第一個畫面上,您輸入電子郵件地址 ([電子郵件受保護])和密碼並觸摸“下一步”,Android 應嘗試獲取https://example.com/autodiscover/autodiscover.xml如果失敗,請嘗試取得https://autodiscover.example.com/autodiscover/autodiscover.xml
然而,在三部不同的手機(4.4 和版本 5)上,我發現情況並非如此。觸摸“下一步”後,Android 聲稱“正在檢查自動設定資訊...”,但我查看了網路(和電子郵件)伺服器日誌,但什麼也沒發生。幾秒鐘後,手機進入手動設定模式。我還觀察了從手機的 IP 位址到達伺服器的任何資料包,但我什麼也沒得到。
那麼 Android 到底在做什麼呢?我所能想到的只是它正在嘗試(並且失敗了?)進行某種 DNS 查找。請注意,當我使用手動設定時,一切正常。我還可以在手機的預設 Web 瀏覽器中手動存取 autodiscover/autodiscover.xml 檔案(因此我的 DNS 設定應該沒問題)。
為什麼其他人要報道那個蟲子說前兩個自動發現步驟有效嗎?我還能做什麼來診斷問題?我是否必須root手機並為其找到資料包嗅探器?
如果沒有人知道發生了什麼事,你能幫我找到去哪裡嘗試閱讀程式碼嗎…也許閱讀程式碼會產生一些答案?
答案1
如果沒有網域 DNS 中的提示,我不知道「outlook 自動發現」能否正常運作。
我假設您正在談論“Exchange Server”,但是您能否更具體地說明哪個“Android 的預設電子郵件用戶端”,我面前有3 個,它們每個都安裝了不同的“預設”電子郵件用戶端。
您也不會提及您的伺服器,如果您管理它,如果它由您的 ISP 或託管提供者託管——並非所有伺服器都可以按照以下連結顯示的方式進行配置。
華泰
特定於 ISP http://www.rackspace.com/apps/support/portal/1218 http://kb.intermedia.net/article/1306 http://www.virtuworks.com/how-to-setup-outlook-autodiscovery-for-your-domain/
微軟 https://support.microsoft.com/en-us/kb/940881 http://blogs.technet.com/b/rmilne/archive/2014/10/02/how-to-check-exchange-autodiscover-srv-record-using-nslookup.aspx
第 3 方博客 https://acbrownit.wordpress.com/2012/12/20/internal-dns-and-exchange-autodiscover/
答案2
我注意到了同樣的事情,但是當我將帳戶新增為交換帳戶而不是電子郵件帳戶時,我做獲得 HTTP 命中/autodiscover/autodiscover.xml
。然而,之後它告訴我以下內容:
無法設定帳戶
您輸入的伺服器位址不正確或伺服器需要電子郵件不支援的協定版本
這是隨附的訪問日誌(稍微匿名):
123.456.789.0 - [email protected] [08/Mar/2016:14:49:42 +0100] "POST /autodiscover/autodiscover.xml HTTP/1.1" 200 898 "-" "Android-SAMSUNG-SM-G920F/101.60001, Android-SAMSUNG-SM-G920F/101.60001"
123.456.789.0 - - [08/Mar/2016:14:49:52 +0100] "GET / HTTP/1.1" 200 3525 "-" "Mozilla/5.0 (Linux; Android 6.0.1; SM-G920F Build/MMB29K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/48.0.2564.106 Mobile Safari/537.36"
123.456.789.0 - username [08/Mar/2016:14:49:53 +0100] "OPTIONS /Microsoft-Server-ActiveSync?Cmd=OPTIONS&User=username&DeviceId=FOOBAR&DeviceType=SAMSUNGSMG920F HTTP/1.1" 200 3508 "-" "Android-SAMSUNG-SM-G920F/101.60001"
````
我想這已經更近了一步,但還沒有完全實現。