之前已经以一种或另一种方式询问过此问题,但我需要对我遇到的问题有所了解。

从本质上讲,我的客户希望他的应用程序(wpf,用VS2010编写)能够在其前景中创建新消息(不发送消息,而是仅弹出包含某些字段的新邮件消息-他将键入其余消息)身体然后发送)

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

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


十分简单。

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

进一步的研究表明,我选择了COM自动化路线。网上有很多好玩的东西,例如this one on MSDN

看起来很简单,但我现在被困住了


  步骤1。创建一个控制台应用程序,并引用Outlook主互操作程序集(PIA)。要引用Outlook PIA,请右键单击项目文件,然后单击“添加引用...”按钮。在“添加引用”对话框中,导航到.NET选项卡,找到Microsoft.Office.Interop.Outlook 12.0.0.0,然后单击“确定”。


现在我有很多不同的版本(v11-v15)

我猜因为我所使用的Office版本不同。
现在我的问题是


我应该选择哪个版本
鉴于他们的计算机都具有不同的Office版本,当我发布(单击一次)并部署到客户端时会发生什么情况。


最高版本会容纳所有这些吗?
我可以挑一个适合所有的人吗

(注意:它必须通过Outlook发生,所以我不能使用常规的.net邮件方法-如果可以的话,那会很棒)

谢谢

最佳答案

我的建议是不要使用PIA,而应使用NetOffice,因为它提供了非常好的抽象并且可以与任何Office版本(https://netoffice.codeplex.com/)一起使用。在Clickonce发行版中也可以正常使用。

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

10-13 09:33