用外网的sendmail做中继接受邮件到内网

外网服务器比如是out.com。可以正常接收发到out.com的邮件。
现在想要把该服务器收到的邮件转到内网的两个服务器里,类似于负载均衡。

内网的两个服务器IP:192.168.10.1,192.168.10.2。

外网服务器设置:

1) /etc/mail/virtusertable文件内容如下:
  @out.com      %1@in.com

把本来收到的邮件统统转到in.com。

2)  /etc/mail/mailertable文件内容如下:
  in.com             esmtp:[192.168.10.1],[192.168.10.2]

把发到in.com的邮件随机转发给内网的两台机器。使用IP地址,需要方括号。

# makemap hash /etc/mail/virtusertable.db < /etc/mail/virtusertable
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
# service sendmail restart

说明:
先把收到的邮件改成in.com的时候,因为不再是本机域名,所以要转发。
而转发时会用到mailertable文件。
mailertable文件里面定义把发到in.com的邮件转发到内网的两个服务器。

前提:外网服务器的sendmail使用virtusertable和mailertable特征。

内网服务器设置:两台设置是一样的。

1) /etc/mail/local-host-names文件内容如下:
  in.com
 
  只有一行,接受in.com域的邮件。

2) /etc/mail/virtusertable文件内容如下:
   @1n.com      root

  把所有收到的邮件都当作root用户。 这里应该要根据实际情况自行修改。

# makemap hash /etc/mail/virtusertable.db < /etc/mail/virtusertable
# service sendmail restart

说明:
发到内网的邮件的的部分已经被改成了xxx@in.com,
所以要根据实际情况把这些邮件分配给实际的用户。
应该和外网修改前的virtusertable文件类似,
除了域名不一样以外,out.com 变成了in.com。

设置完成。在发邮件给xxx@out.com,会按照1:1的比例把邮件转给内网的某个服务器上。


注意:
不要把内网的服务器的网关设置为外网服务器的IP。
否则外网转发邮件时会报错: config error: mail loops back to me (MX problem?)
这个问题搞了一天才明白,唉。。。。。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/378235/viewspace-709828/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/378235/viewspace-709828/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值