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)
页面执行时间:1.983毫秒