Linux 版 (精华区)

发信人: netiscpu (平淡是真), 信区: Linux
标  题: Sendmail Enable RELAY mini Howto
发信站: 紫 丁 香 (Mon Dec 14 14:27:20 1998), 转信



发信人: 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: some@b.mail.org,可以先
发给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中,
所有法往someone@mere.ml.org或something@test.org都将
被允许转发.
                  

如果你所希望的是一种开放式的服务,不进行任何检查,
那重新生成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

6m※ 修改:·scaner 於 Dec 11 23:16:57 修改本文·[FROM:   202.119.79.67]m
m7m※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.119.79.67]
--

                              Enjoy Linux!
                          -----It's FREE!-----

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