31.10.邮件用户代理 ================== MUA 是一个用于发送和接收电子邮件的应用程序。随着电子邮件的“进化”和变得更加复杂,MUA 也变得越来越强大,并为用户提供了更多的功能和灵活性。FreeBSD 中的 ``mail`` 类别包含了许多 MUA。其中包括图形化的电子邮件客户端(如 Evolution 或 Balsa)以及基于控制台的客户端(如 mutt 或 alpine)。 31.10.1.mail ------------ `mail(1) `__ 是 FreeBSD 默认安装的 MUA。它是一个基于控制台的 MUA,提供了发送和接收基于文本的电子邮件所需的基本功能。它提供有限的附件支持,并且只能访问本地邮箱。 尽管 ``mail`` 本身不支持与 POP 或 IMAP 服务器的交互,但这些邮箱可以通过一个诸如 fetchmail 的应用程序下载到本地的 **mbox**\ 。 为了发送和接收电子邮件,请运行 ``mail``\ : .. raw:: latex \diilbookstyleinputcell .. code:: shell-session % mail 用户在 **/var/mail** 中的邮箱内容会被 ``mail`` 自动读取。如果邮箱是空的,该程序退出时将显示没有找到邮件的信息。如果邮件存在,应用程序界面就会启动,并显示一个邮件列表。邮件是自动编号的,在下面的例子中可以看到: .. raw:: latex \diilbookstyleinputcell .. code:: shell-session Mail version 8.1 6/6/93. Type ? for help. "/var/mail/marcs": 3 messages 3 new >N 1 root@localhost Mon Mar 8 14:05 14/510 "test" N 2 root@localhost Mon Mar 8 14:05 14/509 "user account" N 3 root@localhost Mon Mar 8 14:05 14/509 "sample" 现在可以通过输入 ``t`` 和信息编号来读取信息。这个例子读取了第一封邮件: .. raw:: latex \diilbookstyleinputcell .. code:: shell-session & t 1 Message 1: From root@localhost Mon Mar 8 14:05:52 2004 X-Original-To: marcs@localhost Delivered-To: marcs@localhost To: marcs@localhost Subject: test Date: Mon, 8 Mar 2004 14:05:52 +0200 (SAST) From: root@localhost (Charlie Root) This is a test message, please reply if you receive it. 从这个例子中可以看出,消息将以完整的标题显示。要再次显示邮件列表,请按 ``h``\ 。 如果该邮件需要回复,请按 ``R`` 或 ``r`` ``mail`` 键。\ ``R`` 指示 ``mail`` 只回复给邮件的发件人,而 ``r`` 回复给邮件的所有其他收件人。这些命令的后缀可以是要回复的信息的邮件编号。在输入回复后,邮件的结尾应在自己的行中用一个 ``.`` 来标记。下面是一个例子: .. raw:: latex \diilbookstyleinputcell .. code:: shell-session & R 1 To: root@localhost Subject: Re: test Thank you, I did get your email. . EOT 为了发送一封新的电子邮件,请按 ``m``\ ,然后是收件人的电子邮件地址。可以指定多个收件人,用分隔符 ``,`` 分隔每个地址。然后可以输入信息的主题,接着是信息内容。信息的结尾应该在自己的行中加上一个 ``.`` 来指定。 .. raw:: latex \diilbookstyleinputcell .. code:: shell-session & mail root@localhost Subject: I mastered mail Now I can send and receive email using mail ... :) . EOT 在使用 ``mail`` 的过程中,按 ``?`` 来随时显示帮助。请参考 `mail(1) `__ 以获得更多关于如何使用 ``mail`` 的帮助。 **注意** `mail(1) `__ 并不是为处理附件而设计的,因此对它们的处理很差。新 MUA 以一种更智能的方式处理附件。喜欢使用 ``mail`` 的用户可能会发现 ports 中的 `converters/mpack `__ 是相当有用的。 31.10.2.Mutt ------------ mutt 是一个强大的 MUA,有很多功能,包括: - 多线程消息的能力。 - 支持 PGP,可对邮件进行数字签名和加密。 - 支持 MIME。 - 支持 Maildir。 - 高可定制性。 关于 mutt 的更多信息,请参考 http://www.mutt.org\ 。 mutt 可以使用 port `mail/mutt `__ 进行安装。安装完 port 后,可以通过执行以下命令来启动 mutt: .. raw:: latex \diilbookstyleinputcell .. code:: shell-session % mutt mutt 将自动读取并显示 **/var/mail** 中用户邮箱的内容。如果没有发现邮件,mutt 将等待用户的命令。下面的例子显示 mutt 显示了一个邮件列表: |image1| 要阅读一封邮件,用光标键选择它,然后按\ ``回车键``\ 。下面可以看到 mutt 显示邮件的例子。 |image2| 与 `mail(1) `__ 类似,mutt 可以用来只回复邮件的发件人,也可以回复所有收件人。要想只回复邮件的发件人,请按 ``r``\ ;要想向原发件人以及所有的邮件收件人发送一个群组回复,请按 ``g``\ 。 **注意** 在默认情况下,mutt 使用 `vi(1) `__ 编辑器来创建和回复邮件。每个用户可以通过在他们的主目录中创建或编辑 **.muttrc** 并设置编辑器变量或设置 ``EDITOR`` 环境变量来更改。关于配置 mutt 的更多信息,请参考 http://www.mutt.org/\ 。 要编写一个新的邮件,按 ``m``\ 。在给出一个有效的主题后,mutt 将启动 `vi(1) `__\ ,这样邮件就可以被写入。邮件内容完成后,保存并退出 vi,mutt 将恢复,显示将要发送的邮件的摘要屏幕。为了发送邮件,请按 ``y``\ 。下面是一个摘要的屏幕例子: |image3| mutt 包含详尽的帮助,可以从大多数菜单中按 ``?``\ 。顶行还显示了适当的键盘快捷键。 31.10.3.alpine -------------- alpine 是针对初级用户的,但也包括一些高级功能。 **警告** alpine 在过去曾发现过几个远程漏洞,这些漏洞允许远程攻击者通过发送特别准备的电子邮件的动作,以本地系统的用户身份执行任意代码。虽然已知的问题已经被修复,但 alpine 的代码是以不安全的风格编写的,FreeBSD 安全长官认为可能还有其他未被发现的漏洞。用户应自行承担安装 alpine 的风险。 当前版本的 alpine 可以通过 port `mail/alpine `__ 来安装。port 安装完毕后,就可以通过执行以下命令来启动 alpine: .. raw:: latex \diilbookstyleinputcell .. code:: shell-session % alpine alpine 第一次运行时,会显示一个带有简单介绍的问候页面,以及一个来自 alpine 开发团队的请求,即发送一个匿名的电子邮件,让他们判断有多少用户在使用他们的客户端。要发送这个匿名信息,请按\ ``回车键``\ 。或者,按 ``E`` 键退出问候语而不发送匿名信息。下面是一个问候语页面的例子: |image4| 然后出现主菜单,可以用光标键进行导航。这个主菜单为撰写新邮件、浏览邮件目录和管理地址簿条目提供快捷方式。在主菜单下面,显示了相关的键盘快捷键,以执行手头任务的特定功能。 alpine 打开的默认目录是 **inbox**\ 。要查看邮件索引,请按 ``I``\ ,或选择下面显示的选项 MESSAGE INDEX: |image5| 信息索引显示了当前目录下的信息,可以用光标键进行导航。突出显示的信息可以通过按\ ``回车键``\ 来阅读。 |image6| 在下面的截图中,alpine 显示的是一个样本消息。上下文的键盘快捷方式显示在屏幕的底部。其中一个快捷键的例子是 ``r``\ ,它告诉 MUA 回复正在显示的当前消息。 |image7| 在 alpine 中回复邮件是使用 pico 编辑器来完成的,这个编辑器默认是和 alpine 一起安装的。pico 使得浏览邮件变得很容易,对新手来说比 `vi(1) `__ 或 `mail(1) `__ 更容易使用。回复完成以后,就可以按 ``Ctrl``\ +\ ``X`` 来发送消息。在发送消息之前,alpine 会要求确认。 |image8| alpine 可以使用主菜单中的 SETUP 选项进行定制。更多信息请查阅 http://www.washington.edu/alpine/\ 。 .. |image1| image:: .././img/assets/mutt1.png .. |image2| image:: .././img/assets/mutt2.png .. |image3| image:: .././img/assets/mutt3.png .. |image4| image:: .././img/assets/pine1.png .. |image5| image:: .././img/assets/pine2.png .. |image6| image:: .././img/assets/pine3.png .. |image7| image:: .././img/assets/pine4.png .. |image8| image:: .././img/assets/pine5.png