Board logo

标题: Emacs Gnus 的基本配置与使用(1) [打印本页]

作者: look_w    时间: 2018-6-13 14:38     标题: Emacs Gnus 的基本配置与使用(1)

导言 是 Emacs 用来收发邮件与上新闻组的一个模式。你也许会问,现在漂亮的邮件客户端程序非常多,比如 Thunderbird,Outlook 等,使用起来非常方便,为什么还要用 Emacs Gnus 这样黑乎乎的老怪物呢?
和 Emacs 的其他模式一样,Gnus 初一看上去并没有让人喜欢它的理由。但是,如果你喜欢使用 Emacs,喜欢 Emacs 快速便捷的编辑功能与高定制性,日常工作中也需要处理大量的邮件与新闻组阅读,那么你一定得试一试 Emacs Gnus 这个以灵活性著称的工具。
和 Emacs 一样,Gnus 的入门曲线有点陡峭,本文的目的就是为你提供一个最基本的中文 Gnus 学习指南。在学习本文之前,你必须能熟练使用 Emacs,了解最基本的 elisp 语法,以及明白新闻组的基本理念。
现在的 Emacs 版本已经自带了 Gnus 模式,直接用命令 M-x gnus就可以启动 Gnus 模式了,你还可以用命令 M-x gnus-other-frame新开一个 Emacs 窗口来单独处理 Gnus 有关的操作。
Emacs 是一个单线程程序,而 Gnus 在网络 I/O 上要花费大量的时间,在运行 Gnus 的时候可能会导致你的 Emacs 无法动弹、假死掉,所以如果你的邮件或是新闻组比较多,那就最好重开一个 Emacs 专门用来处理类似的事情。
不过先别着急启动 Gnus,我们需要对 Gnus 做一些基本的配置。
Emacs Gnus 的基本配置默认情况下,Gnus 的所有配置都是放到 ~/.gnus.el这个文件里,这个文件对于 Gnus 的作用,就像是 .emacs之于 Emacs 的作用一样,Gnus 根据文件 ~/.gnus.el里的配置进行相关的定制与操作。
我们现在就通过 .gnus.el文件来对 Gnus 进行一些最基本的配置。
配置读取新闻组的服务器首先,我们应该配置从哪个服务器来读取新闻组的信息。把下面这一行放到 ~/.gnus.el文件里:
1
(setq gnus-select-method '(nntp "news.somewhere.cn"))




这表明我们想从 news.somewhere.cn 这个服务器读取新闻组的信息。
如果是在国内,可以使用 news.cn99.com 这个新闻组服务器,我觉得还不错。
配置显示的用户名与邮箱相信你在新闻组回帖或是跟帖的时候,想让别人能看到你的名字以及 Email 吧?否则别人怎么知道你是谁、怎么跟你联系呢?
可以把下面的语句放到 .gnus.el里来设置在 Gnus 里显示的用户名与邮箱:
1
2
(setq user-full-name "yourname")
(setq user-mail-address "yourname@email.com")




注意,这里填写的 Email 要求是有效的 Email 地址,否则 Emacs 在启动 Gnus 的时候会提示出错信息。
配置 Gnus 来收取邮件既然我们在上面设置好了邮箱,最好能配置好 Gnus 通过 smtp 来发信以及通过 pop3 来收信,这样当我们想发信给某个作者的时候,就可以直接在 Gnus 里发邮件给作者。
如果你只需要用 Gnus 来读新闻组而不用收发邮件,则可以省略这一步,只需要用上面配置好的用户名与邮箱名就可以了。
配置的代码如下,你需要把相关的 pop3 和 smtp,以及用户名与密码等,改成你自己真实的信息,然后放到 .gnus.el文件里:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
;; set email reader
(setq gnus-secondary-select-methods '((nnml "")))

;; set pop server
(setq mail-sources
     '((pop :server "POP.MAIL.YAHOO.COM"   ;; 在这里设置 pop3 服务器
            :user "waterlin@ymail.com"     ;; 用户名
            :port "pop3"
            :password "password")))        ;; 密码

;; set smtp
(setq smtpmail-auth-credentials
   '(("SMTP.MAIL.YAHOO.COM"                ;; SMTP 服务器
      25                                   ;; 端口号
      "waterlin@ymail.com"                 ;; 用户名
      "yourpassword")))                    ;; 密码

(setq smtpmail-default-smtp-server "SMTP.MAIL.YAHOO.COM")
(setq smtpmail-smtp-server "SMTP.MAIL.YAHOO.COM")
(setq message-send-mail-function 'smtpmail-send-it)




这里需要说明的是,通过第一行代码,我们告诉 Gnus 如何存放接收的邮件,Gnus 把这个叫做后台 ( back end ),最常用的方式是 ,另外还有 , 等其它几种方式,我们选择其中一种就可以了,更详细的信息可以参考 Gnus 的官方手册。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0