gpt4 book ai didi

c# - 使用与正在运行的应用程序相同的凭据打开 Outlook

转载 作者:可可西里 更新时间:2023-11-01 09:37:35 24 4
gpt4 key购买 nike

我正在编写一个程序,需要打开 Microsoft Outlook 并在用户单击按钮时为用户创建一个邮件项目。但是,当我这样做时,出现以下错误:

检索 CLSID 为 {0006F03A-0000-0000-C000-000000000046} 的组件的 COM 类工厂失败,原因如下:80080005 服务器执行失败(HRESULT 异常:0x80080005 (CO_E_SERVER_EXEC_FAILURE))。在研究了这个错误之后,我发现我的程序和 MS Outlook 都必须以管理员或普通权限级别运行。

所以这是我的问题...如何使用与当前正在运行的程序相同的权限级别通过 C# 代码打开 MS Outlook。我需要获取当前权限级别,然后使用该权限级别打开 Outlook。到目前为止,我在这方面的研究没有运气。感谢您的帮助!

这是我打开 MS Outlook 的代码(当前)以及我如何使用它:

Application outlookApp = new Application();

MailItem mailItem = outlookApp.CreateItem(OlItemType.olMailItem);
mailItem.Subject = "Blah";
mailItem.HTMLBody= @"Various HTML stuff";

foreach (string documentPath in this.documentPaths)
{
mailItem.Attachments.Add(documentPath, 1, 1, documentPath);
}

mailItem.Display(true);

我正在使用 Microsoft.Office.Interop.Outlook。如果 outlook 已经以管理员身份运行。这样我就不会收到任何错误。

请提出建议。

最佳答案

我正在使用 SimpleMAPI.NET 打开标准电子邮件应用程序并发送电子邮件。我什至将其调整为打开一个特定的电子邮件应用程序,与 Windows 中配置的应用程序不同。目前与 MS Outlook 配合使用效果很好,甚至可以与其他电子邮件软件配合使用。

SimpleMAPI.NET 可以从这里获得: http://www.codeproject.com/Articles/2048/Simple-MAPI-NET

如果您认为这种方法对您可行,请留下评论,我将通过一些代码示例和我对 SimpleMAPI.NET 的 Outlook 修改来扩展我的答案(上面的原始版本存在一些问题)。

我在这里提出这个建议,因为我的团队最初是通过 COM 使用 Outlook(就像你现在所做的那样),遇到了几个问题,然后选择了我的 MAPI 解决方案。如果一个人“只”想通过外部应用程序发送电子邮件,它已被证明更加稳定和多功能......

关于c# - 使用与正在运行的应用程序相同的凭据打开 Outlook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30187278/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com