【问题标题】:Automate Outlook from COM+从 COM+ 自动化 Outlook
【发布时间】:2013-08-23 17:17:44
【问题描述】:

我需要实现以下

1- 将电子邮件信息另存为草稿,用户以后可以手动打开、修改和发送

2- 撰写电子邮件并将 Outlook 作为新电子邮件打开,并允许用户在那时发送或丢弃

有使用Microsoft.Office.Interop.OutlookSmtpClient 的示例代码。我相信SmtpClient 不能自动化 Outlook。而且,对于第二个选项,我不想添加 Microsoft.Office.Interop.Outlook 的引用,因为如果没有安装 Office Outlook 怎么办!!!

所以请指导我进一步阅读。

编辑

即使未安装 Outlook,不使用引用也肯定会打开表单,这可以通过在之后检查 oType 的 null 来检查

Type oType = Type.GetTypeFromProgID("Outlook.Application");

如果我添加参考并且客户端打开表单并且 Outlook 不存在或者参考的库是 Office 2013 而安装的库是 Office 2010,该怎么办?表单是否会打开或抛出异常或以下行仍然有效?

Microsoft.Office.Interop.Outlook.Application myApp = new Microsoft.Office.Interop.Outlook.ApplicationClass();    
Microsoft.Office.Interop.Outlook.NameSpace mapiNameSpace = myApp.GetNamespace("MAPI");

【问题讨论】:

    标签: c# com outlook office-interop


    【解决方案1】:

    您需要在这里澄清一下。你说你想自动化 Outlook,但不依赖它。这很奇怪,除非您将电子邮件客户端的概念抽象化,这似乎不是您的动机。

    假设您确实依赖于互操作程序集,您可以在应用程序实际使用该引用之前检查是否存在损坏/无效引用。见here.

    【讨论】:

    • 假设,我添加引用并部署应用程序,客户端没有办公室,客户端打开“电子邮件”按钮将完成工作的表单。客户没有点击电子邮件按钮,只是打开了表单。表单会打开还是抛出错误?
    猜你喜欢
    • 2015-04-27
    • 2016-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-20
    • 2010-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多