Android 的默认电子邮件客户端应该根据Outlook 自动发现来探测用户电子邮件地址域的服务器。这个错误似乎表明至少该协议的前两个步骤确实有效。
例如,在第一个屏幕上,您输入电子邮件地址 (maria@example.com) 和密码并触摸“下一步”,Android 应尝试获取https://example.com/autodiscover/autodiscover.xml,如果失败,尝试获取https://autodiscover.example.com/autodiscover/autodiscover.xml
但是,在三部不同的手机(4.4 版和 5 版)上,我发现情况并非如此。触摸“下一步”后,Android 声称“正在检查自动设置信息...”,但我已经查看了网络(和电子邮件)服务器日志,但什么也没发生。几秒钟后,手机进入手动设置模式。我还观察了从电话的 IP 地址到达服务器的任何数据包,我得到了 zilch。
那么Android到底在做什么呢?我所能想到的就是它正在尝试(并且失败?)进行某种 DNS 查找。请注意,当我使用手动设置时,一切正常。我还可以在手机的默认 Web 浏览器中手动访问 autodiscover/autodiscover.xml 文件(因此我的 DNS 配置应该没问题)。
为什么其他报告该错误的人说前两个自动发现步骤有效?我还能做些什么来诊断问题?我是否必须对手机进行 root 并为其找到数据包嗅探器?
如果没有人知道发生了什么,你能帮我找到去哪里尝试阅读代码......也许阅读代码会产生一些答案?
我想使用 firewalld 创建一个规则,该规则使用标准用户名或用户 ID 以及一个其他模块标准。
在 iptables 中,我认为你可以做这样的事情
iptables -A OUTPUT -m owner --uid-owner <UID> -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
(并且您可以将其他 -m 模块或 -p 协议添加到同一命令中)
但是我阅读了firewall-cmd联机帮助页,但找不到如何制定相同类型的规则。即使是“丰富的规则”似乎也没有这种支持。我必须使用“直接”功能吗?我不太明白它的语法。尤其让我担心的是这些没有任何回报!
firewall-cmd --direct --get-chains ipv4 filter
firewall-cmd --direct --get-rules ipv4 filter OUTPUT
firewall-cmd --direct --get-rules ipv4 filter INPUT
Run Code Online (Sandbox Code Playgroud)
当然iptables -L显示我有这些表、链和规则。
那么我如何使用firewalld为所有者添加一个永久规则,也许还有一个标准?