是否需要在服务器上安装Outlook才能使Outlook互操作正常工作?

本文关键字:Outlook 常工作 互操作 工作 服务器 安装 是否 | 更新日期: 2023-09-27 18:04:39

我试图从。net应用程序中打开Outlook中的电子邮件。当我在本地机器上运行所有东西时,它工作得很好。当我部署到IIS8服务器时,我在加载页面时得到一个错误。Outlook是否需要安装在服务器和本地客户端上,还是只需要安装在客户端上?当我注释掉下面的代码时,一切都加载得很好。

using Microsoft.Office.Interop.Outlook;
using Outlook = Microsoft.Office.Interop.Outlook;
protected void passdownBtn_Click(object sender, EventArgs e)
{
    SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["ConnectionString"]);
    {
        SqlCommand comm = new SqlCommand("EXEC SvcGridEmail", conn);
        conn.Open();
        comm.ExecuteNonQuery();
        string body = (string)comm.ExecuteScalar();
        conn.Close();
        string address = "bogus@email.com";
        string time = String.Format("{0:MM/dd/yy HH:mm}", System.DateTime.Now);
        string subject = "Service Jobs Passdown @ " + time;
        Outlook.Application oApp = new Outlook.Application();
        Outlook._MailItem oMailItem = (Outlook._MailItem)oApp.CreateItem(Outlook.OlItemType.olMailItem);
        oMailItem.To = address;
        oMailItem.HTMLBody = body;
        oMailItem.Subject = subject;
        oMailItem.Display(true);
    }
}

是否需要在服务器上安装Outlook才能使Outlook互操作正常工作?

是的,它绝对必须安装。Outlook = Exchange。

你正在使用Outlook自动"Outlook的应用程序"-你怎么能做到,如果它没有安装?

自动交换是另一回事。

是否有其他原因,而不是依赖于Outlook正在安装

  1. 废话

    1.1。当你在你的机器上运行它-它启动Outlook使用你的帐户与你的权限,当运行在服务器上的ASP。. NET帐户-它可能不会打开任何帐户,即使Outlook将安装在那里

    1.2。您希望如何在ASP中查看服务器应用程序(Outlook) ?. NET网站,它在浏览器窗口内工作?

    1.3发送电子邮件不需要Outlook。

  2. 如果邮件在发送前需要修改,请创建一个webform
  3. 许可(我打赌你的组织没有MS Office的服务器许可)

正如其他人告诉你的,如果你想使用Outlook.Application,必须安装Outlook

然而,从你的评论中我读到你想在客户端上打开Outlook实例,而不是在你的服务器上。这在Outlook.Application中是不可能的。在我看来,你有两种可能:

  1. 遵循@Alex K.的建议
  2. 为您的客户创建一个邮件链接。如果你的客户点击它,它将打开默认的邮件程序(不需要是Outlook)在你的客户的机器与你已经定义的内容。