要从.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'或电子邮件附件)...我应该使用什么?目前他们和我一样......
答案 0 :(得分:0)
第三种方法是以编程方式使用run .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。
根据上面列出的信息,您可以选择哪种方式...