8.4. 让您的系统使用 E-Mail

今天,email 是许多人生活中一个重要的组成部分。建立它有很多种选择,并且对于很多 Debian 工具如何设置正确非常重要,我们将在本节介绍一些基本的知识。

e-mail 系统共有三个主要的组成功能。首先是 Mail User Agent (MUA),这是用户发送和读取邮件的程序。然后是 Mail Transfer Agent (MTA),用来将邮件从一台计算机传递到另一台。最后是 Mail Delivery Agent (MDA),用于将收到的邮件投递到用户的收件箱。

这三项功能可以由不同的程序执行,但也能合并到一个或两个程序里。还可以用不同的程序处理不同类型的邮件。

在 Linux 和 Unix 系统上 mutt 是历史悠久的常用 MUA。像其他传统的 Linux 程序一样,是基于纯文本的。它常与作为 MTA 的 eximsendmail、作为 MDA 的 procmail 一起使用。

配合逐步流行的图形桌面系统,使用图形 e-mail 程序,像 GNOME 的 evolution、KDE 的 kmail 或 Mozilla 的 thunderbird 已经变得更流行。这些程序综合了 MUA、MTA 和 MDA 的功能,但也能 — 而且通常是 — 与传统的 Linux 工具一起使用。

8.4.1. 默认的 E-Mail 配置

即使您打算使用图形界面的邮件程序,安装传统的 MTA/MDA 并正确架设在您的 Debian GNU/Linux 系统上会是很有用的。其原因是很多运行在系统中的工具[15] 会通过邮件发送重要的提示通知系统管理员潜在的问题或变化。

对此,您可以通过使用 apt install exim4 mutt ,来安装 exim4muttexim4 组合了 MTA/MDA 功能并相对小巧和灵活。它默认配置为只处理系统本地的 e-mail,系统管理员(root 帐号)的 e-mail 地址会发送到安装时创建的普通用户帐号[16]

当系统邮件传递后,它们会添加到一个 /var/mail/account_name 文件。这些邮件可以通过 mutt 读取。

8.4.2. 发送邮件到系统之外

前面提到,安装的 Debian 系统只架设了处理本地系统的邮件,而不是用于发送或接收其他系统的邮件。

如果您希望使用 exim4 来处理外部邮件,请参考下一小节中可以使用的基本配置选项。确认邮件可以正确地发送和接收。

如果您打算使用图形界面的邮件程序,并使用您的 Internet Service Provider (ISP) 或公司提供的邮件服务器,就不需要配置 exim4 来处理外部 e-mail。只须配置您喜爱的图形界面邮件程序使用正确的服务器来发送和接收 e-mail (配置方法超出了本手册的范围)。

但是,这种情况下您可能还是要配置一些独立的工具来正确发送 e-mails。其中一个这样的工具是 reportbug,该程序的功能是提交 Debian 软件包对应的 bug 报告。它默认是使用 exim4 来提交 bug 报告。

要正确设置 reportbug 使用外部的邮件服务器,请执行 reportbug --configure 命令,并对是否 MTA 可用问题回答 no。您接着将会被问到使用哪个 SMTP 服务器来提交 bug 报告。

8.4.3. 配置 Exim4 MTA

假如您还打算让系统处理外部 e-mail,需要重新配置 exim4 软件包[17]

# dpkg-reconfigure exim4-config

输入命令之后(作为 root),您会被问到是否需要将配置文件分成几个小文件。如果您拿不准,就选择默认选项。

接着您将看到几个常见的邮件方案,请选择一个最近似您需求的那个。

internet site

您的系统被连接到网络上,并且您通过 SMTP 直接收发邮件。在接下来的几页中,程序会询问您一些基本问题,如:您的机器的邮件名称、您接受或转发邮件的域等等。

mail sent by smarthost

本方案中您的送出邮件转发到另一台机器,称为 smarthost,它来负责发送信息到最终目的地。smarthost 一般还用于保存您的计算机接收的邮件,所以您不需要长时间在线。这也意味着您需要使用类似 fetchmail 这样的程序从 smarthost 下载邮件。

大多时候 smarthost 是您 ISP 的邮件服务器,这对拨号用户非常适合。它也可以是公司的邮件服务器,或是您自己网络中的另外一台机器。

mail sent by smarthost; no local mail

该选项基本上与前一种情况相同,只有一点不同,本系统不再架设用于处理本地的 e-mail domain。在本系统上的邮件(比如,给系统管理员的)还是会被处理。

local delivery only

本选项是系统默认的配置。

no configuration at this time

除非您真的知道这是在干什么,否则请不要选择这一选项。这会留下一个未配置的邮件系统 — 在您再次配置它之前,您都无法收发任何邮件,并且可能会错过一些系统工具发来的重要信息。

如果没有合适的方案,或者需要更精确的设置,您需要在安装完成之后编辑 /etc/exim4 目录下的配置文件。有关 exim4 更多的信息可以在 /usr/share/doc/exim4 下找到;README.Debian.gz 里面有 exim4 配置方面的细节,并说明从哪里找到更多的文档。

注意,如果您没有正式的域名,直接发送邮件到互联网,因为接收服务器的反垃圾邮件策略会拒绝接收邮件。这时建议使用 ISP 的邮件服务器。假如您还想直接发送邮件,可能要用另一个邮件地址替换默认生成的那个。如果您使用的是 exim4 作为 MTA,可以添加一个条目到 /etc/email-addresses



[15] 例如:cronquotalogcheckaide,…

[16] 转发 root 邮件到普通用户帐号是在 /etc/aliases 里配置。如果没有创建普通用户帐号,邮件自然会发送给 root 帐号。

[17] 您也可以卸载 exim4 安装其他的 MTA/MDA。