【问题标题】:c# new mail from outlook with attachmentc# 来自 Outlook 的新邮件,带有附件
【发布时间】:2013-06-14 04:16:05
【问题描述】:

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

基本上,我的客户希望他的应用程序(wpf,用 VS2010 编写)能够在他的 Outlook 中创建新消息(不发送它们,而只是弹出带有某些字段的新邮件消息 - 他会输入身体的其余部分,然后发送)

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

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

简单易懂。

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

进一步的研究建议我走 COM 自动化路线。网上有很好的 tuts 像 this one on MSDN

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

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

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

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

最高版本会容纳所有这些吗? 我可以选择一个来适应他们吗?

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

谢谢

【问题讨论】:

    标签: c# wpf email outlook


    【解决方案1】:

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

    【讨论】:

    • 谢谢。我最终自己选择了一个自行推出的 Late Binding Com 解决方案(NetOffice 似乎无论如何都在使用它)。感谢您的建议,我肯定会使用下一个项目
    猜你喜欢
    • 2011-02-07
    • 2016-10-07
    • 2021-10-28
    • 1970-01-01
    • 2015-11-18
    • 1970-01-01
    • 1970-01-01
    • 2011-01-03
    • 1970-01-01
    相关资源
    最近更新 更多