一年前因工作需要设置一台基于SUN平台iPlanet邮件网关服务器,一方面自己处理邮件收发,一方面转发内部网邮件服务器邮件。通过死肯资料,调通了邮件转发,挺兴奋,现在贴出来和大家共享:)
iMS邮件网关所做的配置
问题是:内部邮件服务器域名对外非法,工程上又要求实现,造成难题。
实现思路是:
1. 向外发,将内部邮件服务器的域名在邮件网关进行转换,换成邮件网关的域,用户名统一增加一个约定前缀,再发出去。
user@inside.com - prefix_user@outside.com
2. 向内发,将带有特定前缀的用户名称和域在邮件网关进行转换,换成原来的域名和用户名,再发往内部服务器。
prefix_user@outside.com - user@inside.com
总的来说,iMS的邮件路由主要由三部分完成: Rewrite, Channel, Mappings.
iMS à inside的路由转发两种实现方法:
1. Rewrite, Mappings方法。另外加上DNS的设置。
进入/usr/iplanet/server5/msg-server-main/imta/目录
在imta.conf里的rewrite rule部分添加一行:
outside.com ${FORWARD, $U@$D}
在mappings里的FORWARD表添加一行:
prefix_*@outside.com $0%inside.com$Y
为使改动生效,执行imsimta refresh, imsimta restart.
2. Aliases File方法, 另外加上DNS的设置。
进入/usr/iplanet/server5/msg-server-main/imta/目录
在aliases文件中依次添加用户,每个用户一行:
prefix_user@outside.com user@inside.com
为使改动生效,执行imsimta refresh, imsimta restart.
3. 回信地址.
为了使user@inside.com的发信者mail from地址自动改为prefix_user@outside.com(方便回信), 在mappings里需加入REVERSE table, 输入下面这行:
*@inside.com prefix_$0@outside.com$Y
为使改动生效,执行imsimta refresh, imsimta restart.
4. 邮件转发功能.
默认情况下,转发邮件功能是关闭的,需添加内部邮件服务器的转发权限:
在mappings里的INTERNAL_IP table 里加入:
$(192.168.0.1/32) $Y
5. DNS设置。
在本地dns中,一定要可以解析inside.com域名,使指向192.168.0.1。
并且, 有一条MX纪录指向192.168.0.1
@ IN SOA inside.com. root.inside.com. (
2001051301
10800
3600
604800
86400 )
IN NS inside.com.
inside.com. IN MX 1 inside.com.
;Addresses
inside.com. IN A 192.168.0.1
6. 调试Rewrite 邮件路由的方法:
imsimta test –rewrite –debug –noimage prefix_user@outside.com list
察看list中的处理, 修改相应的imta.conf, mappings, aliases配置文件,
imsimta test –match
imsimta test -mapping