Sendmail第六章:邮件中枢与分发代理6.2.1 测试client.cf文件 在命令行下执行:
注意,你需要在命令行中加上-oQ/tmp,它将阻止sendmail改变mqueue目录。如果你忽略这个开关,sendmail会出现混乱、错误:
而-Cclient.cf开关则告诉sendmail使用当前目录中的client.cf文件,而不是系统中的/etc/sendmail.cf文件。而-bp开关则是让sendmail打印出队列的内容。以上命令行将产生如下所示的输出:
然而,缺少一个local mailer并没有什么大不了的。Sendmail程序在输出它后,就结束了,说明没有发现其它错误。 6.3 本地分发代理 当你运行了sendmail,它曾抱怨没发现本地分发代理定义。为了让它更快乐,我们就将下面的定义加入到client.cf文件中去。你可以使用以下命令,从/etc/sendmail.cf中抄过来:
注意,^M是真实的两个字符:^和M,而不是CTRL-M。现在, 我们启动编辑器,然后调入client.cf文件,你将看到类似下面的内容:
你将注意到有三个新的等式,它比我们原来的hub等式复杂。这个新的M配置命令声明一个符号名,就象hub一样。在这里,我们用的名字是local。尽管,local定义对于一个真正在运行的sendmail.cf配置来说是十分重要的,而在此呢,我们仅仅是为了让sendmail不抱怨。 这个新的分发代理定义是由六个部分组成的(每个部分使用逗号隔开),一个符号名和五个等号。其中F=、S=和R=是新出现的。而关于M,P=和A=都在介绍hub那一节中介绍过了。 M 所有的邮件分发代理的定义都是从M开始的,如:
分发代理的符号名就紧跟在M命令之后,中间没有空格。在以上的例子中,符号名是hub和local。名叫hub的分发代理用于将邮件转发给邮件中枢。而local分发代理则将邮件分发给本机的用户。 P=在等号后面指出邮件分发程序的全路径名:
你的程序名可能与这里不同,但通常,local邮件分发代理都是将邮件放入用户的邮件spool文件中。 A= 在等号后面指定这个邮件分发代理运行时的参数。
注意,在local中使用了$u宏,而hub则使用了$h宏。$u宏包含接收者的名字(如bob),而$h宏则是包含接收主机的名字(如here.us.edu)。宏将在下一章说明。习惯中,这个部分一般放在最后。 以下三个部分是在local定义中新出现的,在hub的定义中并未使用。 F= 在等号后面指定确定的标记,用来告诉sendmail更多关于分发代理的东西。每一个标记都是单个字符(要么设置,要么不设置)。
这儿有许多标志可供选择。这些标志将在第30章分发代理中说明,而在后面的几章中也会说明一些。 S= 在等号后指定使用哪一个规则集来重写发送者地址:
由于不同的分发代理使用的地址格式不尽相同,所以有时需要重写发送者地址。 例如,[IPC]代理使用user@host.domain的格式,而uucp代理则使用host!user格式。 再此,指定了分发代理使用第10规则集来重写发送者地址。我们将在第8章:地址和规则中详细地说明。 R= 在等号后面指定使用哪一个规则集来重写发送者地址:
同样的道理,我们需要重写接收者地址。在此,指定使用规则集20重写信封地址,使用规则集40重写信头地址。 上一篇:Sendmail第五章 sendmail.cf文件 下一篇:Sendmail第七章 宏 更多相关文章
|
推荐文章
精彩文章
|