2. 邮件用户代理

本节包含与用户代理相关的信息,用户代理指的是用户看到和使用的软件。此软件依赖于邮件管理员 HOWTO 中描述的传输代理(其中也包括用户代理配置和管理员故障排除技巧)。

2.1. 设置您的邮件编辑器

邮件用户代理调用编辑器来辅助邮件的撰写。默认使用哪个编辑器各不相同。它们中的大多数都遵循 Unix 早期就有的一个约定;环境变量的内容VISUAL如果存在,则被视为您首选编辑器的名称。如果未设置 VISUAL,则会检查变量 EDITOR。

常用的EDITOR值包括 viemacs但是,如果您像我一样,是那种总是运行 GNU Emacs 的人,那么设置EDITOR的最有用的方法是将值设置为 emacsclient。 将以下行添加到您的~/.emacs文件

(autoload 'server-edit "server" nil t)
(server-edit)

emacsclient 程序运行时,会尝试与您已运行的 Emacs 实例建立通信,并将邮件消息临时文件交给该 Emacs 进行编辑。 这样做的效果是,当您的邮件程序调用编辑器时,邮件撰写窗口会在您的 Emacs 中弹出。

当您准备好将文件交还给邮件程序发送时,请键入 C-x #。邮件缓冲区将离开您的显示,并且您的邮件程序调用的 emacsclient 实例将返回,将控制权交还给邮件程序。

可以同时打开多个 emacsclient 实例而不会混淆 Emacs。但是,在 emacsclient 会话运行时调用另一个 Emacs 可能会使 emacsclient 感到困惑,以至于之后它无法找到任何一个实例。如果发生这种情况,请关闭所有 Emacs 实例并仅重启一个。

如果您运行的是 XEmacs 而不是 GNU Emacs,则这些说明会略有变化。在这种情况下,您需要将EDITOR设置为 gnuclient。在最新版本中,您的初始化文件将位于~/.xemacs/init.el而不是~/.emacs.

2.2. mutt

这就是我使用和推荐的。它源于 elm,默认情况下具有类似的命令,但功能更强大且更可配置。它可以是 POP3 或 IMAP 客户端,并包括对 MIME 和 PGP 的出色支持。Web 上有一个 Mutt 主页

Mutt 遵循 EDITOR/VISUAL 约定。

2.3. elm

Elm 是第一个现代的、面向屏幕的 Unix 邮件程序,但多年来一直停滞不前,并且正在被 Mutt 取代。某些版本的 elm 内置了 POP3 支持。有关更多信息,请参阅 Metalab 邮件用户代理目录 中的 elm 源代码和安装说明。以下是一些偶尔会让人困惑的点

不,标准的 elm 不支持 PGP。有一些 PGP 支持补丁,但 Mutt 的 PGP 支持更出色。如果您想使用 PGP,我推荐 Mutt。

Elm 遵循 EDITOR/VISUAL 约定。

2.4. pine

Pine 是一款为新手设计的用户代理;它包括新闻阅读功能和对 IMAP 远程邮件协议的内置支持。 很多人都强烈推荐它给新用户。 我发现它贫乏的命令集、有限的可配置性和原生编辑器难以接受。 但是,它具有出色的内置 IMAP 支持。 如果您想了解它,可以在 http://www.washington.edu/pine 获取发行版。

Pine 遵循 EDITOR/VISUAL 约定。

2.5. Netscape

Netscape 浏览器内置了 POP3 和 IMAP 远程邮件功能,因此可以用作邮件用户代理。 我不推荐这样做; 它不专注于作为 MUA,因此不提供真正的 MUA 提供的许多服务(例如别名和 PGP 处理)。 但是,它支持 LDAP 和 SSL。

Netscape 提供了自己的迷你编辑器,与整个浏览器中使用的编辑器相同(例如,表单中的文本字段)。

2.6. Emacs rmail/smail 和 vm。

Emacs 有一个名为 smail 的模式可以发送邮件,另一个名为 rmail 的模式可以读取邮件。 smail 模式非常有用,因为您可以在完整的 Emacs 环境中撰写邮件(但另请参阅本文档其他地方关于 emacsclient 的讨论)。

另一方面,不建议使用 rmail 模式。 每次运行它时,它都会将您的收件箱转换为 BABYL 格式; 普通邮件工具会对此感到困惑。(如果发生这种情况,请从 Emacs 命令行执行 M-x unrmail。)

有一个用于 emacs 的邮件阅读器,名为“vm”,它可以读写标准的 V7 邮箱。 它未与 GNU Emacs 一起分发,但您可以在 http://www.wonderworks.com/vm/ 找到其主页。

最流行的 emacs 邮件阅读器可能是 GNUS,它与 GNU Emacs 一起分发。 它是 USENET 新闻和邮件的客户端。

Emacs smail/rmail/vm 不遵循 EDITOR/VISUAL 约定。 相反,您使用它们嵌入的 Emacs。

2.7. BSD mail

如果您只是在 Linux 或任何其他现代 Unix 上的 shell 中键入“mail”,您将调用 BSD Mail 程序的某个变体。 它具有最初设计用于 TTY 的面向行的界面。 在这一点上,它仅具有历史意义。

BSD Mail 发明了 EDITOR/VISUAL 约定。

2.8. 其他用户代理

以下也已知可以在 Linux 下运行。 请查阅“archie”以找到它们……

mush

邮件用户 shell,对于过滤和批量处理非常强大

mh

邮件处理器,又一个邮件用户代理

我对 mh 或 mush 了解不够,无法详细描述它们。 它们都具有相当复杂的界面,专为高级邮件用户设计。