6.3.1. exim4 的配置

[小心]小心

配置exim4 来发送互联网邮件,多个源电子邮件地址使用多个相应的智能主机,这是不寻常的。对于 popconcron 这样的系统程序,配置 exim4 仅仅只使用一个电子邮件地址;对于mutt 这样的用户程序,配置msmtp 来使用多个源电子邮件地址。

对于那些通过 smarthost 的网络邮件,你应该按如下所示的 (重新) 配置 exim4-* 软件包。

  1. $ sudo /etc/init.d/exim4 stop
  2. $ sudo dpkg-reconfigure exim4-config

配置 “General type of mail configuration” 时,选择 “mail sent by smarthost; received via SMTP or fetchmail”。

设置 “System mail name:” 为默认的 FQDN (参见第 5.1.1 节 “主机名解析”)。

设置 “IP-addresses to listen on for incoming SMTP connections:” 为默认的 “127.0.0.1; ::1”。

“Other destinations for which mail is accepted:” 选项留空。

“Machines to relay mail for:” 选项留空。

设置 “IP address or host name of the outgoing smarthost:” 为 “smtp.hostname.dom:587”。

设置 “Hide local mail name in outgoing mail?” 选项为 “<No>”。(或者像第 6.3.3 节 “邮件地址配置”描述的那样使用 /etc/email-addresses“ 代替)

选择如下所示的其中一个来回答 “Keep number of DNS-queries minimal (Dial-on-Demand)?”。

  • “No” 如果启动的时候,系统就连上了互联网。

  • “Yes” 如果启动的时候,系统没有连上互联网。

设置 “Delivery method for local mail:” 选项为 “mbox format in /var/mail/“。

“Split configuration into small files?:” 选项设为 “<Yes>”。

通过修改 “/etc/exim4/passwd.client“ 文件,来创建用于 smarthost 的密码条目。

  1. $ sudo vim /etc/exim4/passwd.client
  2. ...
  3. $ cat /etc/exim4/passwd.client
  4. ^smtp.*\.hostname\.dom:username@hostname.dom:password

通过如下所示的启动 exim4

  1. $ sudo /etc/init.d/exim4 start

/etc/exim4/passwd.client“ 文件中的主机名不应该是别名,你应该按如下所示的检查真正的主机名。

  1. $ host smtp.hostname.dom
  2. smtp.hostname.dom is an alias for smtp99.hostname.dom.
  3. smtp99.hostname.dom has address 123.234.123.89

我在 “/etc/exim4/passwd.client“ 文件中使用正则表达式来绕过别名问题。即使 ISP 更改了别名所指向的主机名,SMTP AUTH 还是可能工作的。

你能够通过如下所示的手动更新 exim4 配置:

  • 更新 “/etc/exim4/“ 目录下的 exim4 配置文件。

    • 创建 “/etc/exim4/exim4.conf.localmacros“ 来设置宏命令和修改 “/etc/exim4/exim4.conf.template“ 文件。(没有分割的配置)

    • 在 ”/etc/exim4/exim4.conf.d“ 子目录中创建新文件或编辑已存在的文件。(分割的配置)

  • 运行 “invoke-rc.d exim4 reload“ 命令。

请阅读 “/usr/share/doc/exim4-base/README.Debian.gz“ 官方指导和 update-exim4.conf(8)。

[小心]小心

如果 debconf 询问 “Keep number of DNS-queries minimal (Dial-on-Demand)?” 这个问题时,选择 了 “No” (默认值),那么启动 exim4 会花很长时间并且系统在启动的时候不会连接到互联网。

[警告]警告

虽然你的 ISP 允许,但是使用没有加密的明文密码是不安全的。

[提示]提示

尽管推荐在 587 端口上使用 STARTTLSSMTP 协议,但是有些 ISP 仍然使用废弃的 SMTPS 协议 (在 465 端口上的 SSL)。4.77 版本以后的 Exim4 支持在客户端和服务器上的废弃 SMTPS 协议。

[提示]提示

如果你正在为笔记本电脑寻找一个遵守 “/etc/aliases“ 规则的轻量 MTA,你应该考虑配置 exim4(8),在 “/etc/default/exim4“ 文件中写入 “QUEUERUNNER=’queueonly’“,”QUEUERUNNER=’nodaemon’“ 等等。