当网络变化唤醒 Mail,进度指示器开始移动时,人们往往正是在这一刻断定 VPN 强制触发了完整重新下载。通常并非如此。重新连接会触发一轮同步,而一轮同步会先覆盖邮箱状态、标记和邮件元数据,很久之后才涉及邮件正文。真正有用的判断是:你处在三种情形中的哪一种,而只有账户自身的状态能告诉你答案。

一个繁忙的指示器,三种不同的情形

三种可能分别是正常的重新同步、不断重试的登录或身份验证失败,以及 Mail 通过新网络根本连不上服务器的路径问题。从远处看它们很像,因为三者都在让同一个窗口动起来,但它们需要三种不同的处理。

What you observeMost likely storyWhere to look next
Brief activity that settles, mail arrivesNormal resyncNothing to fix
Status says login failedMail account or provider authenticationThe account and its provider settings
Status says offline or cannot contact serverPath through the new networkThe VPN, proxy or filter in the way
Activity never settles, no new mailRetry loop against a blocked or wrong endpointThe exact status text and the destination

那张表就是全部判断。它也说明了为什么「它又在下载了」只是对窗口的描述、而非对故障的诊断,以及为什么因为登录失败就去改 VPN 设置很少有用。

在解释任何东西之前,先读账户状态

在受影响账户旁边或 Mail 窗口内找到状态指示器,并打开它以便看到确切的信息。Apple 关于收发邮件的指引会区分连接问题、登录失败、服务可用性和账户额度,这四类分别对应四位不同的负责人。因为一条服务可用性的提示就重新输入密码,等于把同一个下午浪费两次。

把测试范围收窄:一个账户、一次不涉及任何敏感内容的新操作,而且全部走你希望它使用的那条路径。缓存的收件箱可能完全可见,而当前同步却在失败;因此「我能看到我的邮件」并不是判断是否有新邮件到达的好测试。在更改设置之前,把状态的原文记下来,因为事后你只剩这句话作为证据。五分钟后你记得的版本,永远比屏幕上的版本更模糊。

Mac 能上网,但 Mail 说处于离线状态

当机器上其他一切都正常、而 Mail 报告离线时,真正有意思的问题是:连接被要求走哪条路径。代理设置、网络过滤器或只承载部分流量的隧道,都可能让 Mail 停留在服务器不会响应的路由上。在修改账户之前,先看看系统级代理配置说了什么。

scutil --proxy

然后把账户与路径分开。网页邮箱证明账户在服务商那边是好的,但它无法证明 Mail 应用的配置,也无法证明应用所走的路由,因为浏览器可能采用完全不同的路径和不同的代理处理方式。发送和接收也可能依赖不同的服务,所以一次操作成功并不能完整检验另一次。

重复邮件是另一回事

正在进行的同步并不能证明已经产生了可见的重复邮件,而已经存在的重复邮件也不能证明是 VPN 造成的。如果你确实看到重复副本,把它作为独立发现记录下来,并与服务商一起核对服务器端的邮箱。这样你才能知道:副本是只存在一份却显示两次,还是确实存在两份。

无论如何,删除本地邮件、重建所有邮箱或移除账户,都是对一个进度计数器过度激烈的第一反应。这些操作会破坏你诊断原始问题所需要的状态,而且在存有「别处不存在」的邮件的机器上很难撤销。

在移除账户之前先做判断

如果一份已获批准的恢复流程确实要求移除并重新添加账户,请保留两样无法再取回的东西:未发送的工作,以及只存在于这台机器上的邮件。把必须提交的内容在网络变更安排之前完成,而不是之后,然后通过 VPN 归属方的常规控制断开连接。

最后,记住活动显示到底是什么。它只是应用对 Mail 自身工作的观察,并不能证明 VPN 无法停止,也不能证明隧道就是原因。判断的顺序是:读状态、对照那张表分类、用预期路径测试一次操作,然后才去动账户。

相关文章