BBS水木清华站∶精华区
发信人: scaner (P.o.t.S), 信区: Linux
标 题: Sendmail Enable RELAY mini Howto
发信站: BBS 水木清华站 (Fri Dec 11 23:12:59 1998)
本文主要是解决高版本的sendmail(8.8.7以上)不能转发油件的问题.
先简单提一下转发的概念.所谓转发,就是指通过这台Mail server
发送目的地是别的Mail server的油件.打个比方,有两台服务器
a.mail.org和b.mail.org,一封To: [email protected],可以先
发给A.mail.org,然后由A.mail.org发给B.mail.org.这个过程就是转发(relay).
使用一般的Mail Client实际上就是有一个转发过程,他不是
直接将信发往目的服务器,而是本地的Mail server,再通过
本地的Mail Server将信发送出去.随着网络安全等等问题
渐渐得到重视,转发功能也由缺省允许变成缺省禁止.
放开禁止的办法很多,首选是正确配制/etc/mail目录下的
几个文件.sendmail是通过类(Class)配合重写规则(rewrite rule)
来进行地址检查控制的,所以配制文件必须按照要求的格式来写.
一般的方法是将本地地址加入/etc/mail/ip_allow中,
格式如下:
A.
A.B.
A.B.C.
A.B.C.D
其他的子网表达方式都是非法的.
一个例子就是:
202.119.65.
202.119.66.
这样所有202.119.65.0-202.119.66.255的Mail client
都能通过我的Mail Server转发油件.
另一种方法是添加目的域名到relay_allow
中,比如将
mere.ml.org
test.org
加如relay_allow中,
所有法往[email protected]或[email protected]都将
被允许转发.
如果你所希望的是一种开放式的服务,不进行任何检查,
那重新生成sendmail.cf将是很不错的选择.
就以redhat为例,先安装sendmail-cf这个rpm包,
到/usr/lib/sendmail-cf目录下仔细阅读一下
README和README.check,
然后到cf目录中,编辑redhat.mc,将所有关于地址检查
的选项都删除掉,然后用命令
m4 ../m4/cf.m4 redhat.mc > redhat.cf
如果一切正常,redhat.cf就是生成的sendmail.cf
复制到/etc/sendmail.cf后,重启动一次sendmail
就可以了.
最后说上两句:Sendmail的检查功能十分强大,如果有
必要甚至可以做地址检察数据库.
不过个人还是比较喜欢qmail,简单易用,配置方便,没有
头疼的rewrite rule,可惜家里最后还是选择了sendmail
就是因为sendmail的rewrite rule实在太cool了,想干
什么就干什么,比较合适个人定制使用.
--
#telnet I.want.to.go
telnet: Unable to connect to remote host: No Route to host
※ 修改:·scaner 於 Dec 11 23:16:57 修改本文·[FROM: 202.119.79.67]
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.119.79.67]
BBS水木清华站∶精华区