Linux 版 (精华区)

发信人: tcpip (偶的昵称改了), 信区: Linux
标  题: Re: solaris7带的sendmail8.9.3配置问题
发信站: 哈工大紫丁香 (Sun Jan 16 12:50:33 2000), 转信

发信人: Loafer (木棉浪子), 信区: Solaris

标  题: Re: solaris7带的sendmail8.9.3配置问题

发信站: 华南网木棉站 (Fri Jan 14 18:17:21 2000), 转信

呵呵,既然scz这样说到,我就尽量说清楚点吧。

在sendmail 8.9.*里有这样的破规则:

   如果你的邮件起点(寄信地址)、终点(收信地址)和Server不在同一个

   域的,缺省情况下不予投递,也就是出现relay denied的情况了。

这里你可以通过加上一个类(class),而实现用户范围的扩展。

不知道你了不了解宏(macro)、类(class)、重写规则(Rewriting Rules)等

东东,这里就简单说说类吧。

Class是Sendmail中定义变量集的方法,定义一个Class,就是让一个类

名设置为一个变量集,注意不是变量,而是变量集,变量是宏来设置的。

定义的语法是:

        Cx String1 String2 

比如:

        Cs love hate

这样就可以定义一个类s,它包含两个字符串love、hate。

还要说一下的,就是

        Cs love hate

     可以分别写成

        Cs love

        Cs hate

对于Sendmail.cf来说,有很多既定类名,R就是其中一个。类R的作用就是:

     定义一个变量集,当用户主机地址(IP)在该变量集定义的范围内,

     邮件服务器可为该用户服务。也就是不会出现Relay denied的情

     况了。

     比如:对于202.112.18.*这个网段的用户,我们就可以用

        CR 202.112.18

     来定义

           而对于所有在202.114.*.*的用户,我们就可以用

        CR 202.114

     来定义

现在假设你的用户范围在202.114.34.*和202.114.53.*及202.112.*.*里,

那么,先打开sendmail.cf,找一个地方,(我自己习惯地在DR类的下面定义

CR,呵呵,习惯而已,不是规定),然后在一个空白行上写上

        CR 202.114.34 202.114.53 202.112

然后就用

        ps -ef |grep sendmail 

找到sendmail的进程号

        kill -9 pid

然后重起:

        /usr/lib/sendmail -bd -q1h

缺省为-q15m,也就是15分钟重发一次,但我建议用1小时,这样服务器的负担

就不太重,对于网络性能要求也不会太过份。另一个参数-bd是设置sendmail

为一个服务进程。sendmail还有其他参数和用法,请参考手册乐。

这样,你的系统就可以正常运行起来了。不过要注意,在杀进程的时候要杀

干净一点,不然设置不会生效。

【 在 triton (半颗心) 的大作中提到: 】

:    现在按缺省装的,结果sendmail只能发邮件到同一个域里,即

: 出错提示如下:

: The server says:

: 550 <useename@hostname.domain>...  Relaying denied

: Continue?

--

        不再坚信什么事,是因为没有必要,也因为自己怕了。

        如果一定要坚信点什么,那就坚信自己的自作多情吧!

※ 来源:.华南网木棉站 bbs.gznet.edu.cn.[FROM: 202.112.18.112]--

※ 转寄:.华南网木棉站 bbs.gznet.edu.cn.[FROM: 202.118.239.10]

--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: bin@mtlab.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.472毫秒