【问题标题】:"Best" way to get an Outlook MailItem from .msg file从 .msg 文件中获取 Outlook MailItem 的“最佳”方式
【发布时间】:2015-06-04 13:02:47
【问题描述】:

要从 .msg 文件传递​​到其相关的 Outlook MailItem,我找到并尝试了以下两种方法:

Outlook.Application oApp; // --> Outlook Application
Outlook.MailItem oItem; // --> Outlook MailItem
string file= @"C:\PWS\myMail.msg";
oApp= (Outlook.Application)new Outlook.Application();

// way #1
oItem= (Outlook.MailItem)oApp.CreateItemFromTemplate(file);
// or way #2
oItem= (Outlook.MailItem)oApp.Session.OpenSharedItem(file);

这两种方式有什么区别?我需要打开 .msg,然后使用生成的 MailItem(获取一些属性作为“SenderEmailAddress”或电子邮件附件)......我应该使用什么?目前它们对我来说是一样的......

【问题讨论】:

    标签: c# outlook


    【解决方案1】:

    第三种方法是以编程方式使用运行 .msg 文件。在这种情况下,应该打开一个默认应用程序(outlook)。例如:

     string file= @"C:\PWS\myMail.msg";
     Process.Run(file);
    

    请注意,您不能运行多个 Outlook 实例。因此,邮件将在现有 Outlook 实例(如果有)中打开。

    两种方法(#1 和#2)都允许在 Outlook 中打开保存的邮件。但它们有细微的差别:

    Application 类的CreateItemFromTemplate 方法从 Outlook 模板 (.oft) 创建一个新的 Microsoft Outlook 项目并返回新项目。我还想提请您注意,新项目将始终以撰写模式打开,而不是读取模式,无论项目以何种模式保存到磁盘。

    命名空间类的OpenSharedItem 方法从指定的路径或 URL 打开共享项。有关更多信息,请参阅How to: Import Saved Items using OpenSharedItem

    您可以根据上面列出的信息选择哪种方式...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 2010-12-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多