2010-08-10 76 views
2

过去,我使用profman2为不想在服务器上安装Outlook时需要访问Exchange邮箱的服务器创建MAPI配置文件。当我能够以需要访问配置文件的用户身份登录时,这可以正常工作。当应用程序由没有登录权限的服务帐户运行时,这不起作用。我如何编程为不同用户或运行时由服务帐户创建配置文件?为服务帐户创建MAPI配置文件

顺便说一句,我使用Redemption来访问Exchange,它需要一个MAPI配置文件已经存在。赎回似乎允许创建MAPI配置文件,但似乎无法在C#中完成此项工作。任何援助表示赞赏。

回答

4

为什么不让赎回为您创建一个配置文件?

RDOSession.Logon确实需要一个现有的配置文件,但RDOSession.LogonExchangeMailbox不会 - 它会创建(并删除)一个临时配置文件。

如果您需要访问除当前用户(父进程明智)以外的用户拥有的邮箱,则按照经验法则将您的代码作为有权访问相关邮箱的域用户运行,请将LogonExchangeMailbox当前用户,然后使用RDOSession.Stores.GetSharedMailbox打开其他邮箱。

+0

感谢德米特里 - 花了一段时间看文档,我的印象是我需要创建配置文件,然后通过.Logon – 2010-08-10 20:51:10

+0

使用它。我得到以下错误:IMsgServiceAdmin :: ConfigureMsgService中的错误:MAPI_E_CALL_FAILED - I登录时已经以委派了邮箱访问权限的用户身份登录,并且与该用户一起使用了.Logon,并且我使用此用户作为测试 - 建议? – 2010-08-11 02:25:45

0

将服务配置为以具有权限的人身份运行会更容易。我们有一个虚拟的域用户为类似的东西设置了权限,并且它工作得非常好。

安装说明,以其他用户身份运行该服务可以在这里找到:http://www.codeproject.com/KB/cs/DynWinServiceInstallUtil.aspx

+0

我会,但所有用户ID的密码定期更改,除了'服务'帐户,无法登录。 – 2010-08-10 20:53:39

+0

我明白了。如果它不适合你,那么我希望你能找到答案。我们最终为特殊用户提供了完整的密码,这是一个例外,因为它们不会因特定目的而改变。只要我们限制访问账户所需的内容,并且拥有足够复杂的密码,我们的PCI审计员就可以。但是,如果它不适合你,这将无济于事。 – David 2010-08-10 21:29:34