我已经构建了一个使用 Redemption 读取邮箱的 Web 应用程序,我们称之为“custom@domain.com”。使用 localhost 可以正常工作,但是当我部署它时,我得到了这个异常。
错误 System.Runtime.InteropServices.COMException (0x80004005):从 IClassFactory 创建具有 CLSID {29AB7A12-B531-450E-8F7A-EA94C2F3C05F} 的 COM 组件实例失败,原因是以下错误:80004005。在 System.RuntimeTypeHandle.CreateInstance (RuntimeType 类型,Boolean publicOnly,Boolean noCheck,Boolean& canBeCached,RuntimeMethodHandleInternal& ctor,Boolean& bNeedSecurityCheck)在 System.RuntimeType.CreateInstanceSlow(Boolean publicOnly,Boolean skipCheckThis,Boolean fillCache)在 System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly,Boolean skipVisibilityChecks,Boolean skipCheckThis , Boolean fillCache) 在 System.Activator.CreateInstance (Type type, Boolean nonPublic)
我猜我的服务器正在使用其网络用户作为登录邮箱的默认用户,而不是当前的 Windows NT 用户访问 Web 应用程序。如何获取服务器或我的 RDO 代码以使用当前 NT 用户使用带有 RDO 的应用程序?
我已经在我的服务器上安装了 MAPI 扩展并在注册表中注册了 dll。
我的 RDO 代码如下所示
RDOSession Session = null;
rdoDefaultFolders olFolderInbox = rdoDefaultFolders.olFolderInbox;
Session = new RDOSession();//this throws the exception above
Session.LogonExchangeMailbox("username@domain.com", outLookServer);
objFolder = Session.GetDefaultFolder(olFolderInbox);