条件说明:
A:安装RedHat AS
4的时候,服务器A和服务器B上的SendMail已经安装好了,并且作为基础服务将他启动了。
B:服务器A,服务器A的IP是202.94.92.88作为Mail服务器,并设置域名为
monitor.com.cn。
C:服务器B是公网上的另外一台服务器,IP地址是142.93.68.80
并且希望服务器B上所有发出的邮件都使用服务器A作为
中继。同时服务器B发送邮件的时候也都使用类似
username@monitor.com.cn作为mail地址。
具体步骤:
1.使得SendMail服务器A的服务端口对公网可见。
编辑服务器A的
/etc/mail/sendmail.cf 找到
O
DaemOnPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA
如果修改为
O
DaemOnPortOptions=Port=smtp,Addr=网卡使用的IP, Name=MTA
只能给外网发送文件
如果为
Addr=0.0.0.0
是不合适的,虽然sendmail会认为配置文件用错但是可以使用,并且可以向内网和外网发送文件。
2.修改服务器A的SendMail的域名为monitor.com.cn
Cwlocalhost
修改为
Cwlocalhost
monitor.com.cn
3.修改服务器A的/etc/mail/access 设置可以为服务器B进行邮件转发
原来内容是
Connect:localhost.localdomain
RELAY
Connect:localhost
RELAY
Connect:127.0.0.1
RELAY
在文件最后添加一行
Connect:142.93
RELAY
这样只要是 142.93开头的IP都可以有服务器A进行转发。
4.修改服务器B使B发出的邮件都要经过A转发。
修改/etc/mail/sendmail.cf
找到# "Smart" relay host (may be
null)这一行
在下面写
DS[202.94.92.88]
如果要填写机器名smtp.monitor.com的话,则没有括号
DSsmtp.monitor.com
5.重新启动服务器A和服务器B的sendmail服务
service sendmail
restart
6.发送一个Mail试试
echo 'Are you sleep' | mail -s
"hi " abcdef@163.com -- -f sendmail@monitor.com.cn