第 19 章。EximUp 的启动和运行

目录
19.1. 运行 Exim
19.2. 如果您的邮件无法送达
19.3. 编译 Exim
19.4. 邮件投递模式
19.5. 杂项配置选项
19.6. 消息路由和投递
19.6.1. 路由消息
19.6.2. 将消息投递到本地地址
19.6.3. 别名文件
19.6.4. 邮件列表
19.7. 防止邮件垃圾信息
19.8. UUCP 设置

本章为您简要介绍 Exim 的设置以及其功能的概述。虽然 Exim 在行为上很大程度上与 sendmail 兼容,但其配置文件完全不同。

主配置文件通常称为/etc/exim.conf/etc/exim/config在大多数 Linux 发行版中,或/usr/lib/exim/config在较旧的配置中。您可以通过运行以下命令找出配置文件的位置
$ exim -bP configure_file

您可能需要编辑配置文件以反映特定于您站点的值。在大多数常见配置中,没有太多需要更改的地方,并且工作配置很少需要修改。

默认情况下,Exim 会立即处理和传递所有传入邮件。如果您有相对较高的流量,您可以让 Exim 将所有消息收集到所谓的 queue 中,并仅定期处理它们。

当在 TCP/IP 网络中处理邮件时,Exim 经常在守护进程模式下运行:在系统启动时,它从以下位置调用/etc/init.d/exim[1] 并将自身置于后台,在那里它等待 SMTP 端口(通常是端口 25)上的传入 TCP 连接。当您期望有大量流量时,这很有益,因为 Exim 不必为每个传入连接启动。或者,inetd 可以管理 SMTP 端口,并在该端口上有连接时生成 Exim。当您的内存有限且邮件流量较小时,此配置可能很有用。

Exim 有一套复杂的命令行选项,包括许多与 sendmail 的选项相匹配的选项。您可以调用传统的命令(如 rmailrsmtp)来实现最常见的操作类型,而不是尝试将完全正确的选项组合在一起以满足您的需求。这些是 Exim 的符号链接(或者如果它们不是,您可以轻松地将它们链接到 Exim)。当您运行其中一个命令时,Exim 会检查您用于调用它的名称并自行设置正确的选项。

在任何情况下,您都应该有两个指向 Exim 的链接:/usr/bin/rmail/usr/sbin/sendmail[2] 当您使用用户代理(如 elm)编写和发送邮件消息时,该消息将通过管道传递到 sendmailrmail 以进行传递,这就是为什么 /usr/sbin/sendmail/usr/bin/rmail 都应该指向 Exim 的原因。消息的收件人列表通过命令行传递给 Exim。[3] 通过 UUCP 传入的邮件也会发生同样的情况。您可以通过在 shell 提示符下键入以下内容来设置指向 Exim 的所需路径名
$ ln -s /usr/sbin/exim /usr/bin/rmail
$ ln -s /usr/sbin/exim /usr/sbin/sendmail

如果您想进一步深入了解配置 Exim 的详细信息,您应该查阅完整的 Exim 规范。如果您的首选 Linux 发行版中未包含此规范,您可以从 Exim 的源代码中获取它,或者从 Exim 的网站 http://www.exim.org 在线阅读它。

注释

[1]

其他可能的位置是/etc/rc.d/init.drc.inet2。后者在使用 BSD 风格结构来管理系统管理文件的系统中很常见,位于/etc目录中。

[2]

根据 Linux 文件系统标准,这是 sendmail 的新标准位置。另一个常见的位置是/usr/lib/sendmail,这很可能被未专门为 Linux 配置的邮件程序使用。您可以将这两个文件名定义为指向 Exim 的符号链接,以便调用 sendmail 的程序和脚本将改为调用 Exim 来执行相同的操作。

[3]

但是,某些用户代理使用 SMTP 协议将消息传递给传输代理,并使用–bs选项调用它。