c# 来自 outlook 的带有附件的新邮件

标签 c# wpf email outlook

以前有人以这种或那种方式问过这个问题,但我需要澄清我遇到的问题。

本质上,我的客户希望他的应用程序(wpf,用 VS2010 编写)能够在他的 outlook 中创建新消息(不是发送它们,而是弹出新邮件消息并填充某些字段 - 他将输入 body 的其余部分然后发送)

所以到目前为止,我一直在使用 mailto:

System.Diagnostics.Process.Start(string.Concat(@"mailto:" , toAddress , "?subject=" , subject));

简单易行。

现在他想要包含附件。做一些研究我发现曾经有一个 &Attach 标签我可以添加,但它对我不起作用。进一步的研究表明它自 office 2007 以来就被淘汰了(我的盒子上安装了 2013,客户端有各种不同的类型)所以我不能使用这种方法。

进一步的研究建议我走 COM 自动化路线。网上有不错的 tuts,比如 this one on MSDN

看起来很简单,但我卡在了这一点上

Step1. Create a Console application and reference the Outlook Primary Interop Assembly (PIA). To reference the Outlook PIA, right-click the project file and click the "Add Reference..." button. In the Add Reference dialog, navigate to the .NET tab, find Microsoft.Office.Interop.Outlook 12.0.0.0 and click OK.

现在我有一堆不同的 (v11 - v15) office interop files 我想是因为我有不同版本的办公室。 现在我的问题是

  1. 我应该选择哪个版本
  2. 当我发布 (clickonce) 并部署到我的客户时会发生什么,因为他们的机器都有不同版本的 office。

最高版本能容纳所有这些吗? 我可以挑一个来满足他们吗

(注意:它必须通过 outlook 发生,所以我不能使用普通的 .net 邮件方法 - 如果可以的话,那就太好了)

谢谢

最佳答案

我的建议是不要使用 PIA,而是使用 NetOffice,因为它提供了一个非常好的抽象并且适用于任何 Office 版本 (https://netoffice.codeplex.com/)。也可以很好地与 Clickonce 分发配合使用。

关于c# 来自 outlook 的带有附件的新邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16708876/

相关文章:

c# - 翻页的WPF动画创意

wpf - 自动选择 WPF TextBox 中焦点上的所有文本

c# - access数据库中datagridview中数据的显示方法

c# - 在 ASP.NET 中拆分数据

c# - 为什么 C# 编译器会插入显式接口(interface)实现?

sql-server-2008 - 数据库邮件的脚本设置

c# - 如何使用 ssl 类型连接加密发送电子邮件

c# - 从集合中生成和组合函数

c# - WPF 的最佳实践 - 每个 GUI 元素都需要绑定(bind)吗?

php - 如何在更新 MYSQL 数据库时向列表发送电子邮件