【问题标题】:Failed to run Outlook libraries from IIS无法从 IIS 运行 Outlook 库
【发布时间】:2013-02-18 08:17:07
【问题描述】:

我有一个小问题不知道要解决。 我正在使用 C#、Visual Studio 2010 和我正在使用 Outlook 库的错误页面。 在我的项目中,我添加了以下库:“Microsoft.Office.Interop.Outlook” 如果我使用 Visual Studio 为我提供的服务器运行网站,则页面运行良好。 如果我通过 IIS 运行页面,日志会告诉我: “由于以下错误,无法检索 CLSID 为 {0006F03A-0000-0000-C000-000000000046} 的组件的 COM 类工厂:80070005 访问被拒绝。(来自 HRESULT 的异常:0x80070005 (E_ACCESSDENIED))。”

有谁知道这是为什么? 我该怎么做才能解决它?


我想使用 c# 创建一个 Outlook 约会,将此约会保存在我的一个服务器文件夹中,然后以电子邮件的附件形式发送,我该怎么做?

我的代码是这样的:

using Microsoft.Office.Interop;
using Outlook = Microsoft.Office.Interop.Outlook;
using System.Net.Mail;
Outlook.Application outlookApp = (Outlook.Application)new Outlook.Application();
Outlook.AppointmentItem appointment = (Outlook.AppointmentItem)outlookApp.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olAppointmentItem);
appointment.Subject = subject;
appointment.Body = comments;
appointment.Location = location;
appointment.StartUTC = dateInit;
appointment.EndUTC = dateEnd;
appointment.ReminderSet = true;
appointment.ReminderMinutesBeforeStart = advideInMinutes;
appointment.BusyStatus = Microsoft.Office.Interop.Outlook.OlBusyStatus.olBusy;
string appointmentPath = "c:\\webroot\\appointment\\appointmentName.msg";
appointment.SaveAs(appointmentPath);
MailMessage mail = new MailMessage();
mail.To.Add(new System.Net.Mail.MailAddress("mail@domain.com"));
mail.From = new System.Net.Mail.MailAddress("mail@domain.com", "MyName", System.Text.Encoding.UTF8);
mail.SubjectEncoding = System.Text.Encoding.UTF8;
mail.BodyEncoding = System.Text.Encoding.UTF8;
mail.IsBodyHtml = true;
mail.Priority = MailPriority.Normal;
Attachment appointmentAttahment = new Attachment(appointmentPath);
System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("authsmtp.mydomain.com");
smtp.Credentials = new System.Net.NetworkCredential(Settings.Items["mail@domain.com", "password");
smtp.EnableSsl = false;
smtp.Send(mail);
appointmentAttahment.Dispose();

【问题讨论】:

    标签: c# iis outlook localhost


    【解决方案1】:

    看起来您正试图从 IIS 应用程序自动化 Outlook。为此,您需要在 IIS 服务器上安装 Outlook。即使您可以使其正常工作,它也不是受支持的方案。

    http://support.microsoft.com/kb/257757:

    “微软目前不推荐也不支持任何无人值守、非交互式客户端应用程序或组件(包括 ASP、ASP.NET、DCOM 和 NT 服务)的 Microsoft Office 应用程序自动化,因为 Office 可能会展示在此环境中运行 Office 时出现不稳定的行为和/或死锁。”

    如果您使用的是 Exchange 服务器,则可以使用 Exchange Web Services (EWS)

    以下是如何使用 EWS 创建约会的一个示例: http://msdn.microsoft.com/en-us/library/exchange/dd633661(v=exchg.80).aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-01
      • 2016-08-10
      • 2017-12-20
      • 1970-01-01
      • 1970-01-01
      • 2012-01-26
      • 1970-01-01
      相关资源
      最近更新 更多