EWS:模拟来自同一域中不同服务器的用户

| 我有两台服务器: S1是Exchange2010 S2是Exchange 2007 两台服务器都位于ActiveDirectory中的同一域中。 想法是在S1上具有“服务帐户”,并从两个服务器中模拟用户。我的应用程序使用“服务帐户”的凭据,然后开始遍历smtp地址列表。它模拟每个smtp地址并对该帐户的邮箱内容进行一些处理。 那是一种理论,现在是解决问题的时候了。 我可以作为服务帐户连接并可以访问其邮箱,但是当我尝试访问模拟用户的邮箱时,出现异常,提示“ SMTP地址没有与之关联的邮箱”。两台服务器都发生异常。 我开始进行调试并用谷歌搜索可能的原因,然后我一无所获:
svc.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, smtpAddress);
到这个:
svc.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.PrincipalName, smtpAddress);
它的工作原理非常奇怪,因为一个月前我仅在一台服务器上进行了不同的设置,并且使用了SmtpAddress枚举,并且我的管理员发誓模拟的配置完全相同。 现在,如果有人可以为我提供一些提示,说明为什么我不能使用ConnectingIdType.SmtpAddress,以及应该怎么做才能使之工作?     
已邀请:
        当然,事实证明管理员对我当前的配置做了一些不同的操作。新环境的策略是,帐户名称不同于帐户的smtp地址,并且smtp在用户的名称和姓氏之间有一个点。因此,例如,在旧配置下,无论我选择哪种ConnectingIdType,我都可以模拟User100@example.com,但是在新环境中,我必须设置正确的ID类型,这取决于我是否使用smtp或帐户名作为模拟ID。 希望它也会对其他管理员“未更改任何内容”有帮助:)     

要回复问题请先登录注册