2016-04-21 27 views
0

我有一个管理员帐户下运行的程序,他是一个对其他Exchange邮箱拥有写入权限的高级用户。使用旧的Exchange 2003服务器(名称更改为说明目的),我能够:使用赎回(RDO)不能再更改其他用户的邮箱联系项目

session.LogonExchangeMailbox(usrEmail,"old.Exchange2003.com"); 

并对用户的联系人进行更改。

在迁移到新的Exchange 2010服务器(名称更改)后,没有任何更改会反映到用户的邮箱中。

session.LogonExchangeMailbox(usrEmail, "new.Exchange2010.com") 

NOR

session.LogonExchangeMailbox(UserPrincipal.Current.EmailAddress, "new.Exchange2010.com"); 
session.GetSharedMailbox(usrEmail); 

//followed by attempts to change the user's contacts. 

缺少什么?我将不胜感激任何有助于解决此问题的想法。谢谢!

+0

那么,哪种方法错误我们的行为意外?你是说修改RDOContactItem对象,然后调用RDOContactItem.Save不保存更改? –

+0

如果我尝试登录使用旧的Exchange 2003服务器,我得到:System.Runtime.InteropServices.COMException被捕获 HResult = -2147221219 Message = IMAPISession :: OpenMsgStore中的错误:MAPI_E_FAILONEPROVIDER使用新的Exchange 2010服务器没有错误,但在保存这些联系人后,它们不会显示在用户的邮箱中。 – Miha

+0

请显示打开,修改和保存联系人的代码。 –

回答

0

恐怕解决方案涉及使用EWS托管API。

相关问题