先前已经提到,FreeBSD 中的 sendmail 已经安装了您的 MTA (邮件传输代理程序)。因此它负责着您的收发邮件的工作。
然而,基于不同的理由,一些系统管理员想要改变他们系统的 MTA。这些理由从简单的想要尝试另一个 MTA,到需要一个特殊的特性或者 package 依赖某个邮寄程序等等。幸运的是,不管是什么理由,FreeBSD 都能容易的改变它。
对于可用的 MTA 您有很多的选择。一个好的出发点是 FreeBSD Ports Collection,在那里您能找到很多。 当然您可以从任何位置不受任何限制的使用 MTA,只要您能让它运行在 FreeBSD 下。
开始安装您的新 MTA。一旦它被安装,
它可以让您有机会判定它是否能满足您的需要, 并且在它接管
sendmail 之前让您有机会配置您的新软件。
当完成这些之后,您应该确信安装的新软件不会尝试更改系统的二进制文件例如
/usr/bin/sendmail
。 除此以外,
您的新邮件软件启用之前要已经配置好它。
具体配置请参考您所选择的 MTA 软件的配置文档或其它相关资料。
如果您打算禁用 sendmail 的邮件发出服务, 保持系统中有一个替代它的、 可用的邮件递送系统就非常重要。 如果您不这样做的话, 类似 periodic(8) 这样的系统功能就无法如预期的那样, 通过邮件来传送其执行结果。 您系统中的许多部分可能都假定有可用的 sendmail-兼容 系统。 如果这些应用程序继续使用 sendmail 的执行文件来发送邮件, 而您又禁用了它, 则邮件将进入 sendmail 的非活跃 (inactive) 队列, 而永远不会被送达。
要彻底禁用包括邮件送出服务在内的所有 sendmail 功能, 必须将
写入 /etc/rc.conf
。
如果只是想要停止
sendmail 的接收邮件服务,
您应该在 /etc/rc.conf
文件中设置
更多的有关 sendmail 可用的启动选项,参看 rc.sendmail(8) 联机手册.
可以向 /etc/rc.conf
中加入配置项使新的 MTA 在系统启动时运行,
下面是一个 postfix 的例子:
这样 MTA 就能在系统启动是自动运行了。
因为 sendmail 程序是一个在 UNIX® 系统下普遍存在的一个标准的软件,一些软件就假定它已经被安装并且配置好。 基于这个原因,许多其它的 MTA 提供者都提供了兼容 sendmail 的命令行界面来执行。 这使它们像“混入”sendmail 一样变的很容易掌握。
因此,如果您使用其它的邮寄程序,
您必须确定这个软件是去尝试运行标准的
sendmail 二进制,就象
/usr/bin/sendmail
,还是运行您自己选择的替换邮寄程序。
幸运的是,FreeBSD 提供了一个系统调用
mailwrapper(8),它能为您做这件工作。
当 sendmail 安装后被运行,您可以在
/etc/mail/mailer.conf
中找到如下行:
这个的意思就是当这些公共命令
(例如 sendmail
它本身) 运行时,
系统实际上调用了一个 sendmail
指定的
mailwrapper 的副本,它检查 mailer.conf
并且运行 /usr/libexec/sendmail/sendmail
做为替代。当默认的 sendmail
功能被调用,
系统将很容易的改变实际上运行的二进制文件。
因此如果您想要
/usr/local/supermailer/bin/sendmail-compat
替换 sendmail 被运行,您应该改变
/etc/mail/mailer.conf
文件为:
本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
如果对于FreeBSD有问题,请先阅读
文档,如不能解决再联系
<questions@FreeBSD.org>.
关于本文档的问题请发信联系
<doc@FreeBSD.org>.