Iis 访问被拒绝OutLook DCOM

Iis 访问被拒绝OutLook DCOM,iis,outlook,asp-classic,dcom,Iis,Outlook,Asp Classic,Dcom,我正在尝试ASP.NET应用程序,但OutLook有问题 代码隐藏: OutlookApplication = new Application(); NameSpace nameSpace = OutlookApplication.GetNamespace("MAPI"); nameSpace.Logon("", "", missing, missing); nameSpace = null; 当我使用Visual Studio播放应用程序时,一切正常 当我使用IIS播放应用程序时,则: Sy

我正在尝试ASP.NET应用程序,但OutLook有问题

代码隐藏:

OutlookApplication = new Application();
NameSpace nameSpace = OutlookApplication.GetNamespace("MAPI");
nameSpace.Logon("", "", missing, missing);
nameSpace = null;
当我使用Visual Studio播放应用程序时,一切正常

当我使用IIS播放应用程序时,则:

System.UnauthorizedAccessException:检索CLSID为{000209FF-0000-0000-C000-0000000000 46}的>组件的COM类工厂失败,原因是>出现以下错误:80070005访问被拒绝。(来自HRESULT的异常:0x80070005>(E_ACCESSDENIED))

我已尝试通过以下方式更改“OutLook邮件附件”的DCOM配置:

礼仪->身份->执行用户

礼仪->安全->为“每个人”自动设置的各种访问

注:我对其他Office程序(Excel和Word)没有问题

我正在尝试ASP.NET应用程序,但OutLook有问题

Microsoft目前不建议也不支持从任何无人参与、非交互的客户端应用程序或组件(包括ASP、ASP.NET、DCOM和NT服务)自动化Microsoft Office应用程序,因为Office在此环境中运行时可能会表现出不稳定的行为和/或死锁。

如果您正在构建一个在服务器端上下文中运行的解决方案,那么您应该尝试使用安全的组件来无人值守地执行。或者,您应该尝试找到至少允许部分代码在客户端运行的替代方案。如果使用服务器端解决方案中的Office应用程序,该应用程序将缺少许多成功运行所需的功能。此外,您将面临整体解决方案稳定性方面的风险。在文章中阅读更多关于这方面的内容


作为一个解决方案,您可以考虑使用Outlook基于Oplook(扩展MAPI)或API周围的任何第三方包装的低级API,例如,赎回。

如果您正确地标记问题,那么您更可能达到适当的受众,因此更有可能得到答案。这绝对不是。嗨,尤金,非常感谢你的回答。我将按照建议查看赎回API:)