您当前的位置:首页 > 计算机 > 软件应用 > 开发工具(IDE)

Emacs 中使用 Rmail 收取邮件

时间:12-14来源:作者:点击数:

因为 Linux 下工作,邮件使用频率较高。遂选择一款好的邮件客户端是件必要的事情。经两天的间断时间,简单配置了 Emacs 中使用 Mail、Rmail 用以收发邮件。在此,只简单介绍 Rmail 的使用。Rmail 是什么呢?

我认为 Rmail 是一个利用本地应用 movemail,将本地用户邮箱或远程邮箱(支持多种协议)里的新邮件合并追加到 Primary Mail File 里的 Emacs 插件。下面图片希望可以有助于快速熟悉 Rmail。在此也会根据下图来介绍 Rmail。

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(link:https://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Basics.html#Rmail-Basics) 小节。

Part - 2

这部分就是上面提到的 movemail 了,也是收取安全类型为 TLS 等策略的邮件的重要环节。

Rmail 使用 movemail 应用来移动子邮箱里的新邮件到 Primary Mail Box。

可使用的 movemail 有两个。

  1. Emacs 自带的 movemail
  2. GNU Mailutils(link:http://mailutils.org/) 下的 movemail 因为 Emacs 自带的 movemail 功能不如 Mailutils 的强大,最重要的是我们需要 Emacs movemail 不支持的 TLS/STARTTLS。所以,安装 Mailutils 是件必要的事情。Mailutils 下载(link:https://file+.vscode-resource.vscode-cdn.net/i:/%E4%B8%8B%E8%BD%BD/emacsist-master/articles/ftp:/ftp.gnu.org/gnu/mailutils/mailutils-3.0.tar.gz)。安装后需要改变 Emacs movemail 的加载位置,如下:
(setq rmail-movemail-program "/opt/mailutils-3.0/bin/movemail") ; movemail

关于 Movemail 的细节在 movemail program(link:https://www.gnu.org/software/emacs/manual/html_node/emacs/Movemail.html#Movemail),关于为什么换用 Mailutils 的 movemail 见 Retrieving Mail from Remote Mailboxes(link:https://www.gnu.org/software/emacs/manual/html_node/emacs/Remote-Mailboxes.html#Remote-Mailboxes)。

Part - 3

接下来就是需要配置子邮箱咯。根据 Rmail Files and Inboxes(link:https://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Inbox.html#Rmail-Inbox) 小节说明。子邮箱在默认不配置的情况下,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://user@server.com"
               "/var/mail/localuser"))

这里多的添加了一个 file 协议的子邮箱,用以实践说明 ‘movemail’ program(link:https://www.gnu.org/software/emacs/manual/html_node/emacs/Movemail.html#Movemail) 里的协议。

更多子邮箱配置细节参考 movemail program(link:https://www.gnu.org/software/emacs/manual/html_node/emacs/Movemail.html#Movemail)、Rmail Files and Inboxes(link:https://www.gnu.org/software/emacs/manual/html_node/emacs/Rmail-Inbox.html#Rmail-Inbox),远端邮箱配置参考 Retrieving Mail from Remote Mailboxes(link:https://www.gnu.org/software/emacs/manual/html_node/emacs/Remote-Mailboxes.html#Remote-Mailboxes)。

在此请原谅出现的疏漏和错误,否则你也不能怎么着我。就不说我的邮箱是:xue.shumeng@yahoo.com,让你想批评我还找不到我。

(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://user@server.com"        ; Remote Mail Box
               "/var/mail/localuser")  ; Local Mail Box
      rmail-pop-password-required t) ; Prompt
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐