Linux 版 (精华区)
发信人: lzc (bigbird), 信区: Linux
标 题: [翻译]第35章 配置sendmail(2/4)
发信站: 紫 丁 香 (Wed Aug 26 22:02:40 1998), 转信
第35章 配置sendmail (2/4)
35.1.1 sendmail.cf文件
当你使用sendmail+IDA时,sendmail.cf文件不能被直接编辑,而是由一个配置进程产
生这种改变。这个配置进程由叫做sendmail.m4的文件来驱动。在此文件中提供了关于计
算机名、系统所使用的路径名和缺省mailer。虽然sendmail.m4文件相当长,但对于使用
UUCP(Unix到Unix拷贝程序)和SMTP(简单邮件传输协议)进行邮件传送的大部分Linux
安装方式来说,它只需要基本的信息。
-----------------------------------------------------------------------------------------------------
许多系统管理员喜欢把sendmail.m4更名为他们的计算机的系统名(比如tcpi.m4),
为了防止sendmail被意外覆盖和为了使文件所指的计算机更为明朗化,如果你决
定更名文件时,在本章中应改变sendmail.m4中所有的参考以映射到新文件名。
----------------------------------------------------------------------------------------------------
sendmail.m4中最重要的部分之一是定义目录的区域。此区域通常以LIBDIR的行标识符
开头,即:
dnl #define(LIBDIR,/usr/local/lib/mail)
LIBDIR正是sendmail+IDA寻找配置文件和安排表格的程序的地方。通常这一行单
列出来作为所有Linux邮件系统通用区的缺省路径。如果sendmail.m4文件中的路径是正
确的,就不要修改它。这个路径通常编码为sendmail二进制代码,且不能被sendmail.m4
文件(或它的生成文件sendmail.cf)所覆盖。如果你需要改变这个路径,你必须在本行的
开头去掉dnl(它对于使一行作为注释语句是必要的),并增添正确的路径,然后重建
sendmail.cf。
sendmail所使用的本地mailer定义在包含LOCAL_MAILER_DEF变量的行中:
define(LOCAL_MAILER_DEF,mailers.linux)dnl
这一行是必要的,因为sendmail不负责邮件传送,而由另一个程序来负责这一步。本
地mailer(几乎都是发送方)所使用的值默认包含于文件mailers.linux中,这个文件所
指向的LOCAL_MAILER_DEF入口存在于sendmail.m4中,这意味着需要在同一子目录中(通常
是/usr/local/lib/mail/mailers.linux)核对mailers.linux文件来确保发送方程序(或者
使用的任何发送代理)能够正确地登陆。典型的mailers.linux文件如下所示:
#mailers.linux
Mlocal,P=/usr/bin/deliver,F=SlsmFDMP,S=10,R=25/10,A=deliver $u
Mprog,P=/bin/sh,F=lsDFMeuP,S=10,A=sh -c $u
邮件发送代理deliver在文件sendmail.mc中也指定了,这个文件用于创建sendmail.cf。
如果你的发送代理名不是deliver,检查一下sendmail.mc以确保你的邮件发送代理已被正
确指定(如果你正在使用deliver,就不必如此)。在sendmail.m4被处理的过程中,
sendmail.mc是重要的而且此时必须被读入。通常在sendmail.m4中有一行来确保这个行动
发生,它通常位于sendmail.m4的开头,如下所示:
include(sendmail.mc)dnl
你可能需要在变量PSEUDODOMAINS中指定某些词条。通常在UUCP网络中,这个变量被用
于处理UUCP网络不能正确扩充到域名系统(即DNS)时。域PSEUDODOMAINS中的词条告诉
sendmail+IDA在这些网络中不能使用DNS(否则会导致失败)。一般情况下,
PSEUDODOMAINS被设置为如下的值:
define(PSEUDODOMAINS,BITNET UUCP)dnl
你可以使用PSEUDONYMS变量来向外部隐藏你的机器名。例如,无论邮件是来自
merlin.tpci.com还是chatton.tpci.com,邮件接收者在另一网络上只能看见地址
tpci.com。当你使用它时,sendmail接收标识在域PSEUDONYMS中的所有机器的邮件。它通
常被说明如下:
define(PSEUDONYMS,tpci.com)dnl
本词条使网络类型为tpci.com的任何计算机通过sendmail发送邮件。
为了定义你的计算机名,可以使用变量DEFAULT_HOST。它通常被定义为与你的邮件
服务器(或者你的基本机器名,如果你不是在网络上)一样的名字。例如,你可以使用
如下词条来设置邮件服务器的名字。
define(DEFAULT_HOST,merlin.tpci.com)dnl
如果你没有为DEFAULT_HOST设置可用的名字,那么就没有邮件会正确地发送到你的
系统。
如果你的系统不是连接到Internet上的邮件网关(或者从你的局域网中可以进入的其
它网络),你可以通过在sendmail.c4中设置RELAY_HOST和RELAY_MAILER变量来使你的
Linux系统发送邮件到他人的计算机上。这些变量设置所有邮件所要到达的邮件服务器的
名字。例如,为了使系统中所有送往外地的邮件都去向名叫wizard的计算机上,你可以设
置如下的两条:
define(RELAY_HOST,wizard)dnl
define(RELAY_MAILER,UUCP=A)dnl
以上第二行内容指定mailer发送信息到RELAY_HOST上。
--
你好!
※ 修改:.netiscpu 于 Aug 27 15:51:36 修改本文.[FROM: fengyun.hit.edu.]
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: 202.118.229.83]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.039毫秒