0

我的目标是拥有一个带有 2 个日期参数并显示我尚未回复的电子邮件的加载项。我的想法是比较收件箱和发件箱之间的对话 ID,并显示匹配的电子邮件。

在制作 Outlook 插件时,我有点菜鸟,所以非常感谢任何帮助或建议。

我找到了这段代码:

Microsoft.Office.Interop.Outlook.Application app = null;
Microsoft.Office.Interop.Outlook._NameSpace ns = null;
Microsoft.Office.Interop.Outlook.PostItem item = null;
Microsoft.Office.Interop.Outlook.MAPIFolder inboxFolder = null;
Microsoft.Office.Interop.Outlook.MAPIFolder subFolder = null;

try 
{
  app = new Microsoft.Office.Interop.Outlook.Application();
  ns = app.GetNamespace("MAPI");
  ns.Logon(null,null,false, false);

  inboxFolder = ns.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox);
  subFolder = inboxFolder.Folders["MySubFolderName"]; //folder.Folders[1]; also works

// there's of course code after this but I've omitted it from the post
}

我对此有两个问题。首先,什么是 MAPIfolder ?其次,在我的收件箱文件夹中,我可以以某种方式将参数传递给 GetDefaultFolder 方法,以便仅在两个日期之间接收收件箱邮件吗?

其次,如果我对发件箱文件夹做同样的事情,有没有办法比较 inboxFolder 和 outboxFolder 并创建一个新集合,只包含匹配 ConversationID 的电子邮件?

提前致谢

4

1 回答 1

1
  1. MAPIFolder - 请参阅http://msdn.microsoft.com/en-us/library/office/aa210948(v=office.11 ​​).aspx 。您可能想使用OutlookSpy来查看各种 Outlook 对象。

  2. 您将需要使用 Items.Find/FindNext 或 Items.Restrict 来过滤消息。

  3. 无需比较收件箱和已发送邮件文件夹,而是查看 PR_LAST_VERB_EXECUTED 属性(可使用 MailItem.PropertyAccessor.GetProperty 访问)以查看是否已回复或转发邮件。

于 2013-07-29T07:02:20.600 回答