Skip to content

Latest commit

 

History

History
60 lines (57 loc) · 4.42 KB

2016-12-19Emacs中使用Rmail收取邮件.org

File metadata and controls

60 lines (57 loc) · 4.42 KB

Emacs 中使用 Rmail 收取邮件

因为 Linux 下工作,邮件使用频率较高。遂选择一款好的邮件客户端是件必要的事情。经两天的间断时间,简单配置了 Emacs 中使用 Mail、Rmail 用以收发邮件。在此,只简单介绍 Rmail 的使用。Rmail 是什么呢?我认为 Rmail 是一个利用本地应用 movemail,将本地用户邮箱或远程邮箱(支持多种协议)里的新邮件合并追加到 Primary Mail File 里的 Emacs 插件。下面图片希望可以有助于快速熟悉 Rmail。在此也会根据下图来介绍 Rmail。

./images/struct.png

Part - 1

Rmail 启动(M-x rmail)时会读取 PrimaryMail Box 和合并子邮箱 (上图 Mail Box 1-3)里的新邮件到 Primary Mail Box。Emacs Lisp 变量’rmail-file-name’用以定义 Primary Mail File 的位置,默认是”~/RMAIL”。

(setq rmail-file-name "~/mails/rmail") ; Rmail Primary Mail

参阅手册Basic Concepts of Rmail小节。

Part - 2

这部分就是上面提到的 movemail 了,也是收取安全类型为 TLS 等策略的邮件的重要环节。 Rmail 使用 movemail 应用来移动子邮箱里的新邮件到 Primary Mail Box。 可使用的 movemail 有两个。

  1. Emacs 自带的 movemail
  2. GNU Mailutils下的 movemail

因为 Emacs 自带的 movemail 功能不如 Mailutils 的强大,最重要的是我们需要 Emacs movemail 不支持的 TLS/STARTTLS。所以,安装 Mailutils 是件必要的事情。 Mailutils 下载。安装后需要改变 Emacs movemail 的加载位置,如下:

(setq rmail-movemail-program "/opt/mailutils-3.0/bin/movemail") ; movemail

关于 Movemail 的细节在movemail program,关于为什么换用 Mailutils 的 movemail 见Retrieving Mail from Remote Mailboxes

Part - 3

接下来就是需要配置子邮箱咯。根据Rmail Files and Inboxes小节说明。子邮箱在默认不配置 的情况下,movemail 会读取/var/mail/username、/var/spool/mail/username 或 /usr/spool/mail/username,并合并新邮件到 Primary Mail Box。然而,工作中经常查看的 是远端服务器上邮箱里的邮件。所以,接下来配置 Emacs lisp 变量“rmail-primary-inbox-list”, 将远端服务器邮箱配置在列。让 movemail 读取远端邮箱里的新邮件,并合并到 Primary Mail Box。 更多子邮箱的 URL 格式遵守:“PROTO://[USER[:PASSWORD]@]HOST-OR-FILE-NAME”格式。

(setq rmail-primary-inbox-list '("pop://[email protected]"
				    "/var/mail/localuser"))

这里多的添加了一个 file 协议的子邮箱,用以实践说明‘movemail’ program里的协议。 更多子邮箱配置细节参考movemail programRmail Files and Inboxes,远端邮箱配置 参考Retrieving Mail from Remote Mailboxes

在此请原谅出现的疏漏和错误,否则你也不能怎么着我。^_^!
就不说我的邮箱是:[email protected],让你想批评我还找不到我。

(setq rmail-file-name "~/mails/rmail") ; Rmail Primary Mail Box
(setq rmail-movemail-program "/opt/mailutils-3.0/bin/movemail") ; movemail
(setq rmail-primary-inbox-list '("pop://[email protected]"        ; Remote Mail Box
				    "/var/mail/localuser")  ; Local Mail Box
      rmail-pop-password-required t) ; Prompt