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 服务器”,但您能否更具体地说明哪个“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
第三方博客 https://acbrownit.wordpress.com/2012/12/20/internal-dns-and-exchange-autodiscover/
答案2
我注意到了同样的事情,但是当我将帐户添加为 Exchange 帐户而不是电子邮件帐户时,我做在 上获得 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"
```
我想,这距离实现目标又近了一步,但还没有完全实现。