使用Outlook 2010和2013 c#实现从winform发送邮件

本文关键字:winform 实现 2010 Outlook 2013 使用 | 更新日期: 2023-09-27 18:04:29

我创建了一个使用Winform发送电子邮件的表单。我的Outlook 2010窗口正在打开并且工作正常。然而,在我朋友的机器上,它不能工作,因为他有Outlook 2013。有没有可能创建一个同时在Outlook 2010和Outlook 2013上运行的邮件发送功能?下面是我使用的代码:

 var outlookApp = new Outlook.Application();
 Outlook.MailItem mailItem = outlookApp.CreateItem(Outlook.OlItemType.olMailItem);
 mailItem.Subject = this.txtTitle.Text;
 mailItem.HTMLBody = this.HtmlText;
 mailItem.HTMLBody = mailItem.HTMLBody + ReadSignature();
 mailItem.Importance = Outlook.OlImportance.olImportanceLow;
 mailItem.Display(true);

此外,我使用的COM是Microsoft Outlook 14.0 Object,我知道Outlook 2013是Microsoft Outlook 15.0 Object

使用Outlook 2010和2013 c#实现从winform发送邮件

如果您希望具有版本独立性,在您添加了所需的办公互操作程序集的引用之后,例如Microsoft.Office.Interop.Outlook.dll,右键单击dll引用并选择属性,并在属性网格中将Embed Interop Types设置为true

查看更多信息:

演练:从microsoftoffice嵌入类型信息Visual中的程序集工作室

如果在引用COM的应用程序中嵌入类型信息对象时,可以消除对主互操作程序集的需要(PIA)。此外,嵌入的类型信息使您能够实现应用程序的版本独立性。那就是,你的。程序可以编写为使用来自多个版本的COM的类型库,而不需要为每个版本提供特定的PIA。这是一个使用Microsoft对象的应用程序的常见场景办公室库。嵌入类型信息支持相同的构建一个可以在不同版本的微软办公软件上工作的程序不同的计算机不需要重新部署程序或每个版本的PIA