1

我需要实现以下

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

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

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

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

编辑

即使未安装 Outlook,不使用参考也肯定会使表单打开,这可以通过检查 null for oTypeafter

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");
4

1 回答 1

0

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

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

于 2013-08-21T11:18:41.983 回答