Linux 版 (精华区)
发信人: leolv (leo), 信区: Linux
标 题: sendmail relay
发信站: 哈工大紫丁香 (2001年12月16日11:17:03 星期天), 站内信件
这几天弄sendmail relay,初次弄sendmail,搞得我头都大了。下面是
我的一点体会:
在 Redhat6.2 下实现Sendmail转发
--------------------------------------------------------------------------
1 在sendmail配置文件/etc/sendmail.cf中:
R$* $#error $@ 5.7.1 $: "550 Relaying denied"
以上是Linux默认的选项,不允许客户机使用mail服务器收发邮件,如果允许客户机
收发的话应将上边一句话改成
R$- $@ok
2 通常情况下,Sendmail不会为邮件服务Relay信息,这样可以防止一些有恶意的人利
用别人的邮件服务器乱发邮件。缺省情况下,Sendmail关闭了Relay功能。如果你要为别
的服务器Relay邮件,可以进行如下设置——在access文件中加入要为其Relay信件的机
器,格式为:
hostname RELAY
ipaddress RELAY
如果要为一个域内多个机器Relay信件,则可以在/etc/mail/access文件中直接加入
其子网IP或域名,如下所示:
access文件内容:
domainname.com RELAY (允许为域domainname的所有计算机relay邮件)
localhost RELAY
192.168.1.0 RELAY (为192.168.1.0此网内所有机器relay邮件)
此文件惟一决定了哪些机器、哪个域可以使用邮件服务器转发邮件。完成后需要进
行编译:
#makemap hash access.db < access
3 sendmail通过/etc/mail/relay-domains也可以实现Relay控制
如:
192.168.0 RELAY
注意:中间是2个TAB健。
192.168.1.7 RELAY
192.168.1.19 REJECT
缺省下,sendmail支持本地用户转发,加入192.168.0 RELAY可以实现对192.168
.0网段所有用户提供转发,如果网络有多个网段,则需要加入其他网段。192.168.1.7
RELAY是对单个IP用户提供转发。192.168.1.19 REJECT 是拒绝192.168.1.19提供转发
服务。
4 在转发设置时,不能把本机domain设为将要传递的邮件服务器。否则,sendmail会
把邮件发送到本机服务器,而因为转发用户不是本地用户,所以sendmail将拒绝接收!
5 在Redhat 7.x中,要进行如下操作:
(A) 如果安装并运行了firewall,需要打开smtp,ssh和telnet端口,有操作如下:
root用户运行:
#setup
选择firewall菜单,打开端口,注意的是,如果选择high 或者medium level 会b
locking nfs 和smb服务。
(B) 在配置文件/etc/sendmail.cf中
DaemonPortOptions=Port=smtp,Addr=127.0.0.1,Name=MTA 修改为
DaemonPortOptions=Port=smtp,Addr=0.0.0.0,Name=MTA
或则干脆注释掉上一句。
测试结果:能实现自由转发功能。
--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 210.53.39.133]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.979毫秒