Gnus 最简配置

可能是因为我的邮箱 INBOX 里的邮件太多的缘故吧,我目前使用的 Apple Mail 在使用了比较长的一段时间之后速度会非常满。每次与服务器同步的时候也会把 CPU 的占用率提升到很高的程度,导致风扇很烦人的不停的转。

更严重的是,我搞不清楚发送邮件的状态,特别是 Gmail,当提示发送邮件完毕的时候,Draft 文件夹里面会有一封新邮件,就是我刚才发送的那封。按照常识理解应该是说发送失败了,刚刚撰写的邮件被保存到了草稿箱里。可我再重新发送了几次之后,去 web 版的界面上看到竟然把这封邮件发送了好几次,这就实在是太糟糕了。

我日常用 Gnus 读 USENET,于是就想在日常使用 Gnus 来处理邮件,Apple Mail 当作备用的好了。这样就不必让风扇不停的转,也不用担心重复的发送了邮件了。

我的 .gnus.el 文件是好几年前配置的。当时还在用 Linux,后来转换系统之后也一同同步过来了,用着一直不错。我在查了一些文档之后,成功的配置好了 IMAP 取信的功能。但 SMTP 服务器我只配置好了学校的邮件服务器,Gmail 的 SMTP 我没有配置成功。尽管我安装了 gnutls-cli 包,但 Gnus 似乎一直找不到,总是给一些 protocol error 的信息,让我很苦恼。后来我也只好吧这个问题先放一放,先用学校的 SMTP 服务器发信。这样做唯一的缺点是发送的邮件不会到 Gmail 账户的“已发送”信箱里,不过应该不是什么大问题。

后来我的 Gnus 出问题了。我不知道 Gnus 有没有类似“emacs –debug-init”之类的调试命令,所以只好把旧的配置文件改名,一部分一部分的复制到新建的配置文件里,逐步的排查错误。借着这个机会,我把比较杂乱的 .gnus.el 文件给整理了一下。而且本着先放必要的东西,再放附加功能的想法,我最后发现我的配置文件里必要的部分竟然如此的简单。我目前的最简配置如下:


(gnus-agentize)

(setq smtpmail-default-smtp-server "mail.cc.umanitoba.ca")
(setq smtpmail-smtp-server "mail.cc.umanitoba.ca")
(setq smtpmail-smtp-service 587)
(setq message-send-mail-function 'smtpmail-send-it)
(setq send-mail-function 'smtpmail-send-it)

(setq gnus-select-method '(nntp "news.cc.umanitoba.ca"))
(setq gnus-secondary-select-methods
      '((nnimap "gmail"
                (nnimap-address "imap.gmail.com")
                (nnimap-server-port 993)
                (nnimap-stream ssl))
        (nnimap "uofm"
                (nnimap-address "mail.cc.umanitoba.ca")
                (nnimap-server-port 993)
                (nnimap-stream ssl))
        (nntp "freenews.netfront.net")
        ))

这个其实还不是完全最简的。首先 agent 不是必须的。而且 smtpmail-default-smtp-server 和 smtpmail-smtp-server 其实只要一个就行。然后如果只想用 Gnus 来处理新闻组的话,就不许要那几行的 IMAP 的设定。在这里我设定了两个服务器,一个是 Gmail 的,一个是我们学校的。当然,为了安全起见,我把用户名和密码都存到了 .authinfo 文件里了,所以在 .gnus.el 里面也节省了这方面的空间。

根据我使用 Gnus 阅读新闻组的经验,其实这当中最难的是找一个好的新闻组服务器。网上很多免费的新闻组服务器都是只读的,所以你没法发表文章。好在我们学校还有一个新闻组服务器,速度也还不错。不过我们学校的服务器上没有 cn.* 组,所以我又添加了 netfront 作为第二个服务器。不过就这么几行就可以基本上完成了所有的功能了,倒让我很吃惊呢。因为之前在学习使用 Gnus 的时候,看的那些中文文档,总是指点我们配置一个比较 fancy 的设定文件,一条一条解释下来让人感觉乍一接触比较迷惑,其实刚开始只需要不足 10 行就可以了。

另外,为了研究 Gnus 的 SMTP 服务器设定,我阅读了 Gnus Manual 英文原文。文章写的很不错,没有什么难词,而且也相当幽默,一点都不感觉到读大部头英文书的压力,作者文笔功力可见一斑。

2 thoughts on “Gnus 最简配置

  1. 用gnus来查收gmail, 特别是它在国家干扰的情况下, 是件十分痛苦的事情。

    感觉还是拿gnus来查收反应快的邮件服务器(例如126),或者索性用fetchmail之类的外部程序来查收。 用gnus来管理邮件和发送邮件。

    BTW,你有没有发现用imap来收邮件时, 比pop3慢很多?

    1. 我在国内的时候还没有试过 Gnus,因此不了解在国内情况如何。用了 fetchmail 可以把远程邮箱镜像到本地,相当于用空间换取速度,我觉得用处不大,我现在启动 Gnus 的时间在 10 秒钟左右,可以接受。

      我没有感觉 IMAP 比 POP3 慢,我所有的邮箱只要支持 IMAP 我都尽量使用 IMAP,很久没有用过 POP3 了,我的 Gnus 也是配置的用 IMAP 来访问 gmail。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据