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毫秒