如何删除具有 com.apple.quarantine 扩展属性的 ~/Library/Mail?

如何删除具有 com.apple.quarantine 扩展属性的 ~/Library/Mail?

我正在运行 macOS Mojave 10.14。Mail.app 和我们的 Exchange 服务器会定期停止通信。这种情况的主要症状是收件箱中什么都不显示,尽管网络邮件和我的 iPhone 显示了很多消息。

空白邮件.app

在升级到 Mojave 之前,我可以关闭 Mail.app,删除 ~/Library/Mail 目录并重新启动 Mail.app。这导致 Mail 从 Exchange 重新下载所有内容,一段时间内一切都很顺利。我甚至精简了我的 Exchange 帐户,这样每次发生这种情况时就不会下载数 GB 的文件,希望可能是一条旧消息导致某些事情挂起。

因此,我再次尝试这样做,但这一次,我得到的回报是:

wowbagger:Library brianm$ rm -rf Mail
rm: Mail: Operation not permitted

如果我ls -ld@邮件目录:

wowbagger:Library brianm$ ls -ld@ Mail
drwxr-xr-x@ 4 brianm  staff  128 Oct  5 11:26 Mail
    com.apple.quarantine     -1 

好的,常规 UNIX 权限看起来不错,但它还有一个扩展属性。如果我删除该属性,我应该能够删除该目录。

wowbagger:Library brianm$ xattr -d com.apple.quarantine Mail
xattr: [Errno 1] Operation not permitted: 'Mail'

嗯。如果我清除所有属性会怎么样?

wowbagger:Library brianm$ xattr -c Mail
xattr: [Errno 1] Operation not permitted: 'Mail'

当然sudo这些命令都没什么用。例如:

wowbagger:Library brianm$ sudo xattr -c Mail
Password:
xattr: [Errno 1] Operation not permitted: 'Mail'

其他目录也具有该com.apple.quarantine属性:

  • Safari安全浏览
  • iTunes
  • 日历
  • 饼干
  • 苹果浏览器

那么,我该如何修复邮件中出现的问题,或者以某种方式删除该邮件目录以便从头开始重建它?

答案1

这对我有用:

  1. 关闭邮件,然后关闭整个系统
  2. 重新启动时按住 ⌘-R 以进入恢复模式
  3. 启动后,从实用程序菜单中选择终端
  4. csrutil disable然后输入/sbin/shutdown -r now
  5. 等待系统重启
  6. 从终端,将您的邮件文件夹移动到安全的地方:mv ~/Library/Mail ~/Desktop
  7. 启动邮件并验证一切正常
  8. 按照上述步骤 1 至 5 操作,但步骤 4 除外,请输入csrutil enable

相关内容