Exchange重建同名用户或通讯组后无法收到邮件

简介:

    在我们日常的企业Exchange管理中,经常由于对员工的邮件账号进行删除/新建,但是下面有两种情况可能大家经常会遇到:

1. 员工“李四”A由于离职,邮箱管理员删除了该员工的邮箱(lisi@xxx.com)。但是之后又入职了同名同姓 “李四”的B员工,也新建了相同别用的邮箱(lisi@xxx.com)。

2. 由于特殊情况,或者误操作,用户“李四”邮箱 lisi@xxx.com 被重建。

以上两种情况看似经常会发生,也在情理之中,但是这样的操作往往会引来一个特殊的问题,

即:其他用户向该新建的 lisi@xxx.com 发送邮件的时候,系统提示无法送达。     

那下面我们就来看看这个问题的现状和解决办法。

本文主要以邮箱用户为例,通讯组的发生原因和解决办法完全一样。且以下截图和实验环境仅以Windwos Server 2012+Exchange 2013为例,其他的域控服务器版本和Exchange版本结合也均可,问题依然存在。

 

1. 首先向测试邮箱 lisi@xxx.com 发送一封测试邮件,目的证明现在的邮箱是可以正常收到邮件。

image

image

image

2. 在控制台删除该“李四”用户账户及邮箱

image

image

3. 在Exchange ECP上重建一个相同名字“李四”用户的邮箱,邮箱地址也必须相同。

注:如果管理员已经考虑到此类风险,创建的邮箱地址与之前的同名用户不相同,则会自动规避这篇问题所列举的问题

image

image

4. 向新建的邮箱 “李四”lisi@xxx.com 发送测试邮件时,由于之前outlook有通讯录缓存记录,会自动检索出上一个用户的全名“李四”,或者是直接回复上一个用户之前的邮件。

注:如果是单独发送 lisi@xxx.com 的完整邮件地址,不会出现第5步的退信提示,原因下文会讲。    

image

image

 

5. 此时会受到一封outlook的系统退信,提示无法找到目标用户的电子邮件地址,如下

image

以上五个步骤完整概要的描述了 Exchange在重建了同名用户邮箱之后无法收到邮件 这个问题的出现原因和现状。

问题分析:

这个问题的出现我们通常通过退信邮件来逆推。

1. “找不到您输入的电子邮件地址”,首先检查是否该用户的AD帐号和邮箱帐号确实存在

2.  登录该用户的邮箱进行查看,发现可以发送邮件,但是无法收到别人直接通过outlook检索出来的“李四”或者通过回复之前老“李四”的邮件。

3.  但是可以收到别人发送的全邮箱地址 lisi@xxx.com 的邮件。

4.  通过第2点和第3点,怀疑是之前老“李四”用户存在残留信息! BINGO!!!!能想到这里,方向就基本上找到了。

 

通过以上四点,我们仔细思考一下,在Windows AD中,就算是同一个用户或者同名的用户,在活动目录这个验证体系中,每个用户帐号对应唯一的一个GUID作为自己的身份标识符,而且每个在开启了Exchange邮箱的用户中,也是将用户这个邮箱smtp地址和这个GUID进行绑定,这个时候我们引入一个大家相对陌生的键值名称,叫做 LeagcyExchangeDN。这个键值中的 Leagcy 从字面上直接翻译的话为“遗留”,我们暂缺不管这个键值是否是只有删除用户后才会写入属性,但是至少每个邮箱用户在属性列表中都会有这样一个键值的存在。我们基本确定本文中描述的问题应该是和这个有关系。并且 Outlook 使用客户端访问服务器CAS上的通讯簿服务是调用的用户邮箱的LegacyExchangeDN属性,当向新的“李四”用户发送邮件时候,通讯薄缓存中在调用这个键值时发现和之前的老的“李四”用户的键值不一样,从而无法寻址,导致outlook无法解析LegacyExchangeDN的特性,所以发送失败,导致了系统退信。

 

通过上面的分析,我们来看看实实在在的解决办法:

1. 在Exchange ECP管理控制台中,找到新建的“李四”用户

image

2.打开用户“电子邮件地址”属性

image

3. 点击添加按钮,添加一条类型为 X.500 的电子邮件地址

注:电子邮件地址框内填写:

/O=FIRST ORGANIZATION/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=lisi@xxx.com

(前面红色部分不变,只需修改后面用户现有邮件地址)

image

image

4. 发送测试邮件,没有系统退信,且用户能够正常收到邮件了。

image

 

方法二:

如果上述方法依然不成功,或者用户由于其他原因无法添加X.500类型的邮件地址,还可以使用EMS通过下述命令行的形式,立即并彻底删除用户邮箱,这种删除方法不会存在“已删除的邮箱的期限”缓存中,会直接彻底的删除。之后再次重建该用户邮箱,问题也可以得到解决

Remove-Mailbox -Identity lisi@xxx.com -Permanent $true

使用 Remove-Mailbox cmdlet 和 Permanent 或 StoreMailboxIdentity 参数删除邮箱,则该邮箱将立即从邮箱数据库中删除。   
关于永久删除邮箱,大家可以借鉴以下链接:    
http://technet.microsoft.com/zh-cn/library/jj863440(v=exchg.150).aspx


     本文转自horse87 51CTO博客,原文链接:http://blog.51cto.com/horse87/1617098,如需转载请自行联系原作者



相关文章
|
C# 数据安全/隐私保护 移动开发