sendmail 的配置,在 FreeBSD 中已经配置好为您的站点直接的连接 Internet。 如果站点希望他们的邮件通过 UUCP 交换,则必须安装其它的 sendmail 配置文件。
手工的配置 /etc/mail/sendmail.cf
是一个高级主题。sendmail 8 版本通过
m4(1) 预处理生成一个配置文件,实际上这个配置发生在一个比较高的抽象层。
m4(1) 配置文件可以在 /usr/share/sendmail/cf
下找到。 cf
目录中的 README
文件是关于
m4(1) 配置的基本的介绍。
最好的支持 UUCP 传送的方法是使用
mailertable
的特点。建立一个资料库让
sendmail 可以使用它自己的路由决策。
首先,您必须建立您自己的 .mc
文件。
/usr/share/sendmail/cf/cf
目录包含一些例子。
假定您已经命名自己的文件叫做 foo.mc
,
您要做的只是把它转换成一个有效的 sendmail.cf
:
#
cd /etc/mail
#
make foo.cf
#
cp foo.cf /etc/mail/sendmail.cf
一个典型的 .mc
文件看起来可能象这样:
VERSIONID(`Your version number
') OSTYPE(bsd4.4) FEATURE(accept_unresolvable_domains) FEATURE(nocanonify) FEATURE(mailertable, `hash -o /etc/mail/mailertable') define(`UUCP_RELAY',your.uucp.relay
) define(`UUCP_MAX_SIZE', 200000) define(`confDONT_PROBE_INTERFACES') MAILER(local) MAILER(smtp) MAILER(uucp) Cwyour.alias.host.name
Cwyouruucpnodename.UUCP
accept_unresolvable_domains
、
nocanonify
和 confDONT_PROBE_INTERFACES
特性将避免在传送邮件时使用DNS的机会。UUCP_RELAY
项是支持 UUCP 传送所必须的。简单的放入一个 Internet 上可以处理
UUCP 虚拟域地址的主机名。通常,您在这里填入您 ISP 邮件的回复处。
一旦您做完这些,您还需要这个
/etc/mail/mailertable
文件。
如果您只有一个用来传递所有邮件的对外通道的话,
以下的文件就足够了:
#
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
. uucp-dom:your.uucp.relay
一个更复杂点的例子象这样:
# # makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable # horus.interface-business.de uucp-dom:horus .interface-business.de uucp-dom:if-bus interface-business.de uucp-dom:if-bus .heep.sax.de smtp8:%1 horus.UUCP uucp-dom:horus if-bus.UUCP uucp-dom:if-bus . uucp-dom:
头三行处理域地址邮件,不应该被传送出默认的路由,
而由某些 UUCP 邻居取代的特殊情况,这是为了走“捷径”。
下一行处理本地网的邮件让它可以使用 SMTP 来传送。
最后,UUCP 邻居提起。UUCP 虚拟域的记载,
允许一个 uucp-neighbor
!recipient
推翻默认规则。最后一行则以一个单独的句点最为结束,
以 UUCP 传送到提供您所有的邮件网关的 UUCP 邻居。
所有在 uucp-dom:
关键字里的节点名称必须是有效的
UUCP 邻居,您可以用 uuname
去确认。
提醒您这个文件在使用前必须被转换成 DBM 数据库文件。最好在
mailertable
最上面用注解写出命令行来完成这个工作。
当您每次更换您的 mailertable
后您总是需要执行这个命令。
最后提示:如果您不确定某个特定的路径可用,
记得把 -bt
选项加到
sendmail。这会将
sendmail 启动在
地址检测模式。只要按下
3,0
,接着输入您希望测试的邮件路径位置。
最后一行告诉您使用邮件代理程序,
代理程序会通知目的主机以及 (可能转换) 地址。
要离开此模式请按 Ctrl+D。
%
sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter <ruleset> <address>>
3,0 [email protected]
canonify input: foo @ example . com ... parse returns: $# uucp-dom $@your.uucp.relay
$: foo < @ example . com . >>
^D
本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
如果对于FreeBSD有问题,请先阅读
文档,如不能解决再联系
<[email protected]>.
关于本文档的问题请发信联系
<[email protected]>.