logo一言堂

清空你的收件箱

看邮件在这个时代已经成为一个负担。一般认为,清空收件箱(Inbox Zero)是保证Email处理及时的最佳策略。它指的是保持你的收件箱接近于空,所有邮件都看过,该回复的回复,然后归档保存,以便于全文搜索。但是你会说:

臣妾做不到啊!

与之对应的是无限收件箱(Inbox Infinity), 就是完全放任自流,除非有人提醒你要看邮件了再看,而且也只看想看的那几封。我估计现在大多数人都是采取第二种策略,毕竟是懒人的方法。

一屋不扫,何以扫天下。

我今天我就来清一下我三个web mail账户: https://outlook.com, https://mail.yahoo.com, https://gmail.com。已经放任自流很久了。还有救吗?

我的账户

先大致看一下我都有什么:

hotmail是web mail的先驱。我1997年注册,当年还尚未被微软收购。这个邮箱多年废弃不用,信噪比极低,目前收件箱邮件一万左右。

Yahoo是当年互联网老大,我自然也有账号。我在2001年左右注册,曾长期使用。现在也基本废弃。目前收件箱邮件五千以上,有一定的有效邮件。

Gmail 2004年横空出世,让web mail发生了革命,如大空间,全文搜索,但也从此带来了无限收件箱的恶果。我注册于2006年,长期使用,一直没有废弃,但最近看的比较少。目前收件箱邮件不知道有多少(gmail提供的数字很不准,只能做参考),当在一万以上。

现在,yahoo,outlook也早已提供足够大的存储空间,让我也堕入无限收件箱的深渊。还记得很久之前,看邮件可积极了,但是如今呢?

Now email feels like a chore, rather than a joy. Something you fall behind on. Something you clear out, not cherish. Rather than delight in it, you deal with it. Your relationship with email changed, and you didn’t have a say.

-- hey.com

我的目的是清空以上三个收件箱,垃圾扔掉,剩下全部归档保存在我自己的云主机上。做的到吗?

工具

工欲善其事,必先利其器。对于海量邮件的处理,我需要强悍的工具:

  • getmail. 超多功能的命令行邮件迁移工具,但我只用POP3功能下载邮件。
  • 我自己写的perl脚本,利用了CPAN上三个主要邮件处理相关的包:
    • Mail::Internet, 负责提取,转移邮箱里的邮件
    • Mail::Message,负责结构化处理邮件
    • DateTime::Format::Mail,负责弄清楚邮件日期
  • mutt. 我目前日常使用的邮件环境是mu4e, 好处是和我工作环境emacs紧密集成,但特殊情况还是要祭出更快速更强悍的mutt

我的步骤是:

  1. 用getmail一股脑把邮件通过POP3全部下载
  2. 用脚本把有用的和没用的分开
  3. 用肉眼把没用的再过一遍,以免有遗漏。
  4. 有用的归档,没用的扔掉。

有用和没用的定义很简单:我回复过的都是有用的,我信任的人发来的都是有用的,其他都是没用的。这是我长期总结出来的经验,这些判断也都可以通过我的脚本做到。

清空过程

一个账户一个账户来吧。

outlook.com

empty outlook
empty outlook

Outlook.com 几经沿革,现在已经和当年大不一样了。说实话并不难用。打开pop功能需要在网页设置里点一下,提示简单明确,但第一遍会失败,要再回网站里确认一下。之后就能一通到底,让getmail一口气把所有邮件下载,用时不到一小时,下载一个G左右。网页inbox清空如下:

由于这里基本都是垃圾,所以我的分类脚本相当成功,运行十分钟,找到不到200有用邮件。我又肉眼把垃圾箱里近万封邮件再扫一遍,没发现什么有用的。手工扫描不到半小时,再清空垃圾箱,收工!

mail.yahoo.com

empty yahoo
empty yahoo

Yahoo! 已是过眼云烟,现在已经属于Verizon。现在网页做的也还行,就是广告稍微多了点。和微软谷歌不同,Verizon无法集成什么应用,当然就算有别人也不会去用。在这里打开pop功能还费了一番手脚,不仅要打开一个开关,还要设定专有app password,网页文档也不甚明确。好歹是有惊无险,总算通了。最后一个问题是无法一口气下载,下载一次只搞到一两千封,还要手动再来几次,直到彻底清空。Yahoo下载速度明显比outlook.com慢不少,虽然总体量比outlook小不少,但下载了一个多小时,才总算清空了:

这里有我不少早期私人邮件。我的脚本还是几分钟搞定,找到两百多封有用邮件。但肉眼扫描之下,发现不少遗珠。我昨天晚上花了一个多小时,常常迷失在阅读老邮件上。最后又找到几百封有用邮件。总算搞定,再清空垃圾箱,收工!

gmail.com

ongoing gmail
ongoing gmail

多少年了,Gmail仍然是web mail的老大。但是当年革命性的创举已经被outlook.com赶上,各种应用集成别人也有了。在这里打开pop功能也需要在网页设置点一下,还要打开所谓insecure legacy app访问。好在网页文档还是比较明确。Gmail下载速度比yahoo快,但比outlook要慢。但最大问题是每次仅能下载五六百封就没了,比Yahoo还要糟糕。我今天上午我写博客过程中,一直在手动继续下载,有几十次了,但现在邮箱里还有至少好几千:

Gmail里估计至少有几千我的私人邮件。今天晚上有的忙了。

空箱以后呢

空箱之后,还要继续保持空箱。其实,只要做到以下几点这并不难。我在非web mail账户中已经做到了,并维持了数年。现在要把这个习惯延伸到web mail上:

  • 只有一个收件箱,跨越所有账户,保存过去一个月所有往来邮件。目前我这里邮件数量不到一千,绝大多数都看过。
  • 只有一个归档箱,跨越所有账户,保存所有有用邮件直到永远。目前我这里邮件已经接近十万。只靠通过搜索来访问。
  • 关闭新邮件提醒。我每天在碎片时间主动浏览收件箱里的新邮件,能快速回复快速回复。需要后续操作的邮件先标记下来。
  • 每一到两天抽空把标记出需要耐心回复或额外操作的邮件耐心处理,防止越积越多,待处理邮件最多不能超过一周。
  • 对于次要邮箱,例如这三个,不再使用网页或app。每天午夜用脚本通过getmail自动下载新邮件到统一收件箱,第二天一起处理。
  • 最后,最关键的是:在99%的时间,只使用字符界面工具处理邮件

由于我绝大多数时间仅使用字符界面工具处理邮件,这完全避免了病毒,恶意网站,用户跟踪,图片,声音等负面影响,可以放心去看。而且处理速度大大加快。在合理防御下,我每天收到的垃圾,广告,无意义提醒加在一起不到一百。我相信,这已经比大多数人多。但我处理每封时间不到半秒,总耗时不到一分钟。相比如果漏看一封有意义的邮件对你带来的机会成本来说,这一分钟绝对值得。

邮件在诞生的时候就是一个字符界面工具,现在是时候让邮件彻底回归本源了:

And yet, email remains a wonder. Thanks to email, people across cultures, continents, countries, cities, and communities communicate every day. It’s reliable. It’s simple. There are no service provider incompatibilities, technical hurdles, or gatekeepers. If you have an email address, and they have an email address, email just works, every time.

-- hey.com

后记

empty gmail
empty gmail

最终,我从Gmail下载了两万封邮件,总体量超过两个G。用脚本自动检测出六千多有用邮件,再用肉眼找出不到一千。把Gmail也终于清空了。