/ 中存储网

Exchange 2007及2010共存期间附件丢失的问题处理方法

2014-08-28 21:56:44 来源:中存储网

在Exchange 2007升级到Exchange 2010的过程中,由于用户数量非常大,因此需要共存一段比较长的时间。在这个共存的过程中,发现了一个让人非常头疼的事件。某些用户在收到邮件时无法看到附件。比如说,用户A群发一封邮件给50个人,其中有48个人可以正常看到邮件中的附件,但有2个人是看不到邮件中的附件的。这种情况发生的概率比较小。可能还不到万分之一。客户这边出现也就共出现了三次。但,非常遗憾,有两次是客户领导级别没收到,且邮件中的附件内容也非常重要。因此,这个事件就被下达了命令:必须找到原因并且解决。

2 初步分析:

其实从现象上来看感觉还是不难分析的,因为这三次事故中无法收到的邮件的收件人都有一个共性:属于Exchange 2007的用户,且客户端使用Outlook MAPI的方式。而发件人也有一个共性:属于Exchange 2010的用户,且客户端使用Outlook POP3的方式。如果此时收件人使用POP3或者OWA的方式进行查看邮件,可以发现邮件依然存放于邮件中,且可以正常打开。

于是,就使用上述方式多次测试(从Exchange 2010用户,POP3方式发邮件给Exchange 2007用户,MAPI方式接收邮件)是否会出现附件丢失的问题。但问题却无法重现。

3 进一步分析:

附件丢失的根本原因是什么呢?接着从几方面进行排查:

1) 邮件中的附件是不是有问题?

2) 跟Outlook 版本是不是有关系?

3) 跟用户所属Exchange版本是不是有关系?

4) 跟发件人、收件人的访问连接方式是不是有关系?

5) 跟整个邮件的传递路由是不是有关系?

为了找到根本原因,重新回到这几封邮件的发送的源头,并查看这些邮件的共性。终于找到一个很关键的路径重现了故障。当邮件使用以下路径进行传递时,必定会出现邮件丢失的现象:

用户A是Exchange 2010的用户,使用POP3发送了一封带附件的邮件,用户B是Exchange 2010用户,使用MAPI方式接收到此邮件后将其转发,用户C是Exchange 2010的用户,使用POP3方式接收到用户B转发过来的邮件后,再将其进行转发,用户D是Exchange 2007用户,使用MAPI方式接收邮件后,发现此时无法看到附件。而如果使用OWA或者POP3方式接收邮件,则可以看到附件。还有,如果用户D是Exchange 2010用户,使用任何方式接收邮件均可正常收到。

在这个邮件传输的过程中,如果中间用户的Exchange版本、连接方式有一些变化,用户D均可以正常收到邮件。即产生附件丢失的情况必须符合以上这条邮件发送传递路径才会出现。

分析到这里,这个问题就不是我们能解决的了,直接丢给微软处理,微软工程师花了很长时间搭建相似的测试环境,重现了此故障,提交到二线工程师处理后发现这是Exchange的一个BUG,微软之前已经发布一个相应的解决方法:

在Exchange 2007命令行管理工具上运行命令Set-OrganizationConfig -ShowInlineAttachments:$true

问题至此就解决了。

相应的KB:

http://support.microsoft.com/kb/954684  

总结:持之以恒的去从现象中分析故障发生的直接导火线,从而进一步分析根本原因,获取解决方法。