In search for a perfect mail client

“All mail clients suck. This one just sucks less.” – The mutt slogan

邮件客户端 (又称为 MUA, Mail User Agent) 似乎是一切用户永远的怨念,因为实在太难找到一个合意的了,这里“一切用户”当然也包括我,事实上,我寻找合适邮件客户端的路程也极为曲折。

自从 1997 年接触网络的时候申请了第一个 (163.net 的) 电子邮箱,当时因为网络太慢,大家都拨号,访问 163.net 花哨的 web 邮局界面登录一次就得等半天,实在太也奢侈。于是研究了半天,参照当时杂志上推荐的 Foxmail 配置了一下,记不得是哪个版本了,当时倒还是挺满意的,于是 Foxmail 伴随我的邮箱由 163.net 到 21cn.com 这么用下来,现在在 Windows 平台下也不失为一个可以考虑的选择。

不过作为一个喜欢排版的人,眼睛总是挑剔的,Foxmail 令我感到恼火的就是你很难选择合适大小的中文字体,众所周知 SimSun 的 9pt, 10.5pt 和 12pt 最佳,可 Foxmail 的选择偏偏跳过了这几个,缺省是一些非常恶心的大小,仅因为这一点,令我非常不爽,于是乘着 [Thunderbird](http://www.mozilla.com/thunderbird/) 1.0 顺利发布的东风,换成了 Thunderbird。

Thunderbird 也用了挺长一段时间,直到 2.0 版本我都没完全放弃,可用着用着还是发现不对劲,就是我的邮件经常会莫名奇妙的消失,比如收邮件时时,我把一封邮件从 Junk Mail 区拖回到 Inbox,结果收完了邮件 Inbox 里和 Junk Mail 里都找不到这封邮件了!自从 Thunderbird 搞丢我一封重要邮件后,我_永久_地放弃了 Thunderbird。

放弃了 TB 用什么呢?幸运的是,[GMail](http://mail.google.com) 横空出世了,一开始也不觉得 GMail 有多好用,无非是大一点,不用删除,但后来用着用着就把所有的邮件都放到了 GMail 的 web 界面中去处理了,为什么呢?

* 有自动的 Spam 过滤,基本不用担心 Spam 的问题
* 邮件全文检索非常方便
* 最后,也是最重要的,thread 组织和浏览实在是*太方便*了

于是 GMail Web 界面成为了我主要的邮件处理工具,一直用到现在,虽然也积累了一些小的怨念,但还没有大到让我换客户端的程度,包括:

* Web 界面有时会被 ban 掉
* Web 界面还是有点慢,而且不喜欢总要开个浏览器
* GMail compose 出来的 Email 总是怪怪的,发出去的邮件会在奇怪的地方换行
* 没法配置发送纯文本 (8bit) 的邮件和附件
* 最后,也是最严重的,居然*不允许*用等宽字体查看和编辑邮件

其实最大的原因还是始终找不到合适的客户端,以前 GMail 不支持 IMAP,本地收下来的信和别的地方无法同步,这是完全不能忍的,而自从 GMail 开始支持 IMAP 一来,我试用了:

* [Apple Mail](http://www.apple.com/macosx/features/mail.html), 因为过度的依赖超文本而放弃了,以前不用 Outlook Express 也是基于同样的理由
* [mutt](http://www.mutt.org): 几个严重的问题: 配置繁琐,自身支持的收发功能都很弱,IMAP 支持也极差,查看邮件的 thread 组织远不如 GMail
* [sup](http://sup.rubyforge.org/): 看起来像个理想的解决方案,把 GMail 界面的思想加入到了字符界面终端下,简直和我想要的界面一模一样,问题是太脆弱和太慢了,要把所有的邮件都下载下来进行全文索引这一步就完全不可接受,我的 GMail INBOX 里近 30000 封邮件用 sup 处理一次要 24 小时。而且只要此后你从 Web 界面动过任意一封邮件,所有的同步工作又白费了,要从头开始。sup 的作者抱怨这是 IMAP 协议的问题
* [OfflineIMAP](http://software.complete.org/offlineimap): 因为 sup 的作者说下载下来用 mbox 或者 Maildir 格式它就能很好索引了,结果尝试用 OfflineIMAP 把邮件下载下来,结果发现 OfflineIMAP 也十分脆弱,根本支持不了 GMail 这么多邮件的情况

alpine

直到昨天,[alpine](http://www.washington.edu/alpine/) 的 1.00 版本发布,我终于看到了一个比较可以接受的替代品,alpine 是纯字符界面,满足我对编辑和查看邮件的要求,配置比 mutt 简单得多,也不需要额外安装什么专门用来发信收信的工具,IMAP 支持很不错,甚至连邮件 header 都不需要全部下载就能浏览 INBOX,这一点其它客户端似乎都办不到。唯一的缺点是 thread 组织比 sup 的做法还是差了许多。

我还在试验,学习中,如果遇到什么问题,也许会尝试自己去改进 (当然,只要有时间),真正“完美”的邮件客户端也许能找到,也许找不到,但寻找的过程本身就很耐人寻味,或许邮件客户端从发明的那一天起,就是要我们学会适应与妥协吧?

把寻找的过程写下来,希望能对别人有用。