Apple Mail 邮件太多不下载问题的解决

Apple Mail version3.6(936)

原先拿到这个 mac 本本的时候,由于家中网速比较慢,收发邮件比较折磨人,而我又属于对邮件依赖较重的,所以专门申请了个新的 gmail 帐号,专门用在这个机器上,把邮件下载到本地便于处理(平时个人邮件都是自己发给自己的 N 个邮箱共享),顺便体验下 Apple Mail 软件。

Apple Mail 倒算是中规中矩,按下不表,中间有一段时间没怎么用这台 mac,而这个专用 gmail 帐号里面堆积的邮件应该也不少了,简单估计有几百封吧。终于,等到我想用的那一天,突然发现它不下载新邮件了。

逐项检查,系统和软件工作正常,网络正常,gmail 登录进去肯定是有新邮件,而且 pop 设置正常。所有的东西都没有动过,并且原先刚设置好这个帐号的时候,邮件下载都是正常的。Command+0 打开 Activity 窗口监视──连接、登录、查找新邮件、退出,貌似正常,但完全无视我邮箱中赫然在目的新邮件哪。

纯属无意中翻看 gmail 的在线帮助,其实对这类帮助并不报太大希望的,因为一般上面只有一些常规问题的答案,我的问题比较蹊跷,八成没有。帮助里面专门有针对 Apple Mail 3.0 Troubleshooting,列了几个问题,对照我的情况,逐个回答如下:

  • Have you recently used Gmail’s POP service with this client and address?
  • --> Yes, this address just worked recently
  • When are you encountering problems?
  • --> Downloading
  • Does your client display an error?
  • --> No, my mail client does not show an error
  • Downloading issues
  • --> Some or all messages don’t download

然后帮助给了4个解决方法,其中第2条是亮点:

Try enabling recent mode in your POP client by replacing 'username@gmail.com'
in the Username field of your POP client settings with 'recent:username@gmail.com',
and uncheck the box next to Remove copy from server after retrieving a message
in your Advanced POP client settings. Recent mode fetches the last 30 days of mail,
regardless of any other factors. If you don't Leave messages on server your 
messages will be moved to Trash after download.

看仔细了,在邮件帐户前面加上 recent:,只下载最近30天的邮件,这个以前没听说过,从之,我的邮件又愉快的下载了。至于30天以前的邮件如何下载,我是不需要了。至于为什么会这样,还真不明白是 gmail 这里有限制,还是 Apple Mail 无法读取30天以前邮件的邮件头导致无法下载,希望有明白人指点一二。

附 gmail 帮助截图为据:

Gmail帮助中关于Apple Mail的Troubleshooting

recently-used+libtrash狂吃硬盘空间

哈,这个问题早就发现了,不过一直以为是openoffice.org的临时文件,今天忍不住搜了一下,终于找到原因和解决办法了。

问题是这样的,由于启用了libtrash,所以正常删除的文件都会在$HOME/.Trash下面存一份,我的$HOME空间本来就十分紧张,经常发现磁盘满的情况(磁盘满了以后会有很多有意思/古怪的现象,有点意思),一看是有大量的.recently-used.xbel[?]文件在$HOME/.Trash下趴着,删除他们可以节省几百M到1G多的空间,并且丝毫不影响使用。

没有仔细观察的时候,还以为是openoffice.org开着的时候产生的临时文件,今天终于知道,用户$HOME下有两个文件:.recently-used.recently-used.xbel,这两个文件都是xml,格式不同,但都是保存了最近打开/访问的文件。可能是我没有直接使用Gnome桌面,从来没有清除过最近文件的缘故,这两个文件的尺寸已经分别达到了200k和2.5M,尤其是那个.xbel文件,2M多,每次更新都会由于libtrash的缘故在$HOME/.Trash下存一个备份,随着时间的推移,可不就很快把硬盘吃完了么。

参考的文章中,是通过修改文件权限的方式,让系统不再往这两个文件写入内容,应该也是可行的,但和libtrash结合恐怕还是会有空文件生成,好在libtrash有黑名单功能,在/etc/libtrash.conf或者$HOME/.libtrash中:

IGNORE_RE = \.recently-used\.xbel

就行了。

关于这两个recently文件,还有两点,一是注意文件权限,可能存在泄漏用户隐私、操作习惯的问题;二是如果以前用过的文档找不到了,在这两个文件的内容中搜搜没准儿能找到。

参考