文档库 最新最全的文档下载
当前位置:文档库 › 用外网的sendmail做中继接受邮件到内网

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

用外网的sendmail做中继接受邮件到内网2011-10-28 09:46:37



外网服务器比如是https://www.wendangku.net/doc/0b15731957.html,。可以正常接收发到https://www.wendangku.net/doc/0b15731957.html,的邮件。
现在想要把该服务器收到的邮件转到内网的两个服务器里,类似于负载均衡。

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

外网服务器设置:

1) /etc/mail/virtusertable文件内容如下:
@https://www.wendangku.net/doc/0b15731957.html, %1@https://www.wendangku.net/doc/0b15731957.html,

把本来收到的邮件统统转到https://www.wendangku.net/doc/0b15731957.html,。

2) /etc/mail/mailertable文件内容如下:
https://www.wendangku.net/doc/0b15731957.html, esmtp:[192.168.10.1],[192.168.10.2]

把发到https://www.wendangku.net/doc/0b15731957.html,的邮件随机转发给内网的两台机器。使用IP地址,需要方括号。

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

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

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

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

1) /etc/mail/local-host-names文件内容如下:
https://www.wendangku.net/doc/0b15731957.html,

只有一行,接受https://www.wendangku.net/doc/0b15731957.html,域的邮件。

2) /etc/mail/virtusertable文件内容如下:
@https://www.wendangku.net/doc/0b15731957.html, root

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

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

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

设置完成。在发邮件给xxx@https://www.wendangku.net/doc/0b15731957.html,,会按照1:1的比例把邮件转给内网的某个服务器上。


注意:
不要把内网的服务器的网关设置为外网服务器的IP。
否则外网转发邮件时会报错: config error: mail loops back to me (MX problem?)

相关文档
相关文档 最新文档