前段时间帮朋友解决了一个邮件策略问题,今天把它写出来供大家参考。拓扑如下图所示,某公司在域树环境下,父域是exchtest.com,子域是shanghai.exchtest.com。Florence是父域的域控制器,Firenze是子域的域控制器,Berlin是Exchange服务器。要求Berlin为ActiveDirectory内的所有用户提供邮件支持,如果用户属于父域,那用户的邮箱后缀是@exchtest.com,如果用户隶属于子域,那用户的邮箱后缀是@shanghai.exchtest.com。
解决这个问题并不难,主要注意以下三点
A 在子域中进行域准备
B 为子域用户创建收件人策略
C 为子域用户创建收件人更新服务
下面开始实验
一 确定父域和子域的域控制器可以进行正常的Active Directory复制
首先我们要确保父域与子域之间可以进行正常的Active Directory复制。Exchange和Active Directory结合得非常紧密,一旦出现了Active Directory的问题,Exchange肯定会受到影响,所以我们首先检查两个域控制器之间的复制状态是否正常。在Florence上,开始-管理工具-Active Directory站点和服务,在Florence的复制伙伴Firenze上选择“立即复制副本”,如下图所示
如下图所示,Active Directory复制正常。这样我们就可以开展后续操作;否则应仔细检查Active Directory复制失败的原因,待故障排除后,再向下进行。
二 在子域的域控制器上进行域准备
如果想让Exchange服务器为子域用户提供邮件服务,那么需要在子域的域控制器上进行域准备,域准备为Exchange读取及修改子域用户属性时提供了必要的权限。在Firenze上进行域准备很容易,放入Exchange2003的安装光盘,在命令提示符下输入 D:\setup /domainprep,
D是光驱的盘符,如下图所示。当然,在图形界面下从Exchange部署向导中进行域准备也是可以的。
开始域准备,确定选择的操作是Domainprep
完成域准备后,现在Exchange可以为子域用户创建邮箱了。
三 为子域用户创建收件人策略
收件人策略决定了Exchange中邮箱的邮件地址,Exchange安装完成后,会生成一个默认的收件人策略,默认策略将邮箱的邮件地址设置为以exchange安装时的域名作为邮箱后缀。因此现在无论是父域还是子域的用户,只要创建邮箱,邮箱后缀都是@exchtest.com。我们可以在Exchange服务器上打开Exchange系统管理器,在收件人策略中,双击“Default Policy”,在电子邮件地址(策略)标签中就可以看到默认的收件人策勒了。如下图所示。
如果想为子域用户提供以@shanghai.exchtest.com为后缀的邮箱地址,那一定要为子域用户创建新的收件人策略,在新的收件人策略中将子域用户的邮箱地址设置为以@shanghai.exchtest.com为后缀。但问题是,我们怎么判断一个邮箱是为子域用户创建的呢?我们要考虑一下在Active Directory中父域用户和子域用户在哪些属性上有区别,我们可以利用这些属性对父域子域用户加以区分。我们容易想到的是,父域用户和子域用户的登录名不同,父域用户的登录名是@exchtest.com,子域用户的登录名是@shanghai.exchtest.com,有这些就足够了。
在Exchange系统管理器中,我们为子域用户创建一个新的收件人策略
此策略将影响收件人的电子邮件地址
为新策略命名为shanghai
在收件人策略中,切换到电子邮件地址(策略)标签,选中SMTP策略,点击“编辑”
将收件人的SMTP地址改为@shanghai.exchtest.com
如何确保这个策略用于子域用户?在策略的常规标签下,在筛选规则处,点击“修改”
在筛选规则中切换到高级标签,在字段中选择用户的登录名结尾为shanghai.exchtest.com,这就是我们针对子域用户设置的筛选条件
现在Exchange中有了两个收件人策略,我们创建的新策略优先级高,默认策略优先级低。以后创建邮箱时,Exchange先用高优先级的策略判断一下用户的登录名是不是以shanghai.exchtest.com结尾,如果匹配,就让邮箱地址以@shanghai.exchtest.com为后缀;如果不匹配,就用默认策略来处理,那样的话邮箱地址的后缀就会是@exchtest.com。
四 为子域用户创建收件人更新服务
Exchange 的收件人更新服务可以确保在创建新的收件人策略后,其内容应用于组织中的相应收件人。收件人更新服务还将现有的策略应用于在策略建立后新建的收件人。通过这种方式,可以利用最小的管理开销保持信息最新。每个域至少要设置一个收件人更新服务,并且必须从 Exchange 服务器上运行该服务。对于没有 Exchange 服务器的域,必须从该域外部的 Exchange 服务器上运行收件人更新服务。
因此我们应该在Exchange服务器Berlin上为子域shanghai.exchtest.com创建一个收件人更新服务,以使我们创建的收件人策略能应用到子域用户的邮箱上。
在Exchange系统管理器中,新建“收件人更新服务”
设置一下收件人更新服务负责的域,点击浏览,在域列表中选择shanghai.exchtest.com
选择由哪个Exchange服务器负责收件人更新,由于Active Directory中只有一个Exchange服务器,因此只能选择Berlin
完成后,在子域中创建一个用户试试。由于事先没有将Exchange的管理权限委派给子域管理员,因此为子域用户创建邮箱的操作在父域的域控制器Florence上进行。在Florence上打开Active Directory用户和计算机,右键点击exchtest.com,选择“连接到域”,在域列表中选择shanghai.exchtest.com。这样我们就可以创建子域用户了。新建一个用户user1
在Berlin上为子域用户user1创建邮箱
检查一下user1的邮件地址,如下图所示。User1的邮箱地址是[email protected],设置成功!
在父域中创建一个user1用户,看看他的邮件地址,如下图所示,[email protected],OK,问题解决。
特别提示,不要忘记在DNS中为shanghai.exchtest.com创建MX记录,否则子域用户可能收不到其他邮件发来的邮件哦。