Sendmail第五章 sendmail.cf文件5. sendmail.cf文件 在sendmail的配置文件sendmail.cf中的文本,有的形如MODEM的噪声,有的形如Dithers的咒语一样:
不过,如果回想起以前学习C语言时,你是否会对这个表达式感到恐惧呢?
就象任何一个新语言一样,学习sendmail.cf文件中所使用的语言需要时间和实践。在本章中,我们将介绍这个语言,不会在此只是对其作一个入门性的概述。 5.1概要 sendmail.cf文件是sendmail每次启动时要读取的配置文件。它包含了sendmail启动时必须的信息。它列出了所有重要文件的位置,指定了这些文件的缺省权限。包含了一些影响sendmail行为的选项。更重要的是,它还包含了地址重写(rewriting addresses)规则。 Sendmail.cf文件是按行组织的。一个配置命令行,均是由字符开头的,而且每行只有一个命令:
每一个配置命令行,是由命令加上特定参数构成的。例如,命令V的参数是一个数字,而F命令的参数则是字母w,再加上绝对路径。在表5-1中完整地列出了所有配置命令: 命令 说明
表5-1sendmail.cf文件中的配置命令一览表 有一些配置命令,象V只会在sendmail.cf文件中出现一次,而有些象R命令就会多次在配置文件sendmail.cf中出现。 空行、以“#”开始的行将被处理为注释行而被忽略。一个以tab开始的行,则说明是上一行的继续,如:
除了一个命令,一个空行,一个空格,一个tab,或一个#字符以外,其它情况都是错误的。如果sendmail程序发现这种情况,将打印出如下警告,并忽略此行,然后接着读取后面的配置:
在这,sendmail找到了一行以v开始的行。由于小写的v不是一个有效的命令,sendmail将发出警告。而行号则指出了这个错误所在行。 下面几个小节将对每一种命令进行简单的实例说明。而这些命令的作用将会在本教程中阐述。所以如果在本节中无法完全理解的话,也不必担心。因为这里所有神秘的东西,在本书结束时都将变得十分清晰明白。 5.2最小配置 最小的配置的文件可以是空文件。你可以使用以下命令来创建这个文件:
我们会慢慢地往这个文件中添加配置。将其命名为client.cf是为了避免覆盖了系统中的sendmail.cf文件。 现在,我们再运行sendmail,测试这个新配置文件的有效性:
命令行开关选项-C用于指定sendmail使用一个指定的配置文件。而开关选项-bt则告诉sendmail运行在rule-testing模式下。注意,sendmail读取你的空配置文件,运行,没有任何提示。同时注意当在第2章编译完后无法运行sendmail,但现在你可以了。那是因为当时你没有配置文件,而现在有一个了(尽管这个文件是空的)。 5.2.1 版本 为了防止旧版本的sendmail因读取新版本的配置文件而破坏,在sendmail 8.1开始引入了一个V命令,这个命令的格式如下:
编辑文件client.cf,然后加上这一行。“V”必须位于行首。后面跟的版本号必须是7,才能够使所有8.8版的sendmail.cf中的新功能生效。数字7是sendmail.cf的语法,表示有7个主要的变化,更详细的请参考27.5小节。 5.2.2 注释 注释语句能够帮助其他人理解你的配置文件。同时,他们也能通过注释记起你几个月前的修改。注释语句对sendmail的执行速度影响极小,所以你无需担心这一问题。前面我们说过,以#开始的行,被sendmail认为是注释行,整行将被忽略。例如: 上一篇:Sendmail第四章:如何运行sendmail 下一篇:Sendmail第六章:邮件中枢与分发代理 更多相关文章
|
推荐文章
精彩文章
|