在任何其他规则之前应用NewMailEx

时间:2015-11-17 09:05:26

标签: c# outlook-addin mapi

我有一个2013年及以后的插件。

插件的主要目的是将电子邮件移动到文件夹并根据某些规则更改主题行(不是Outlook规则,而是我自己的插件'规则')。

private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
  // ...
  // new email arrives.
  this.Application.NewMailEx += Application_NewMailEx;
}

然后将其移至文件夹并在邮件到达时更改主题

private async void Application_NewMailEx(string entryIdItem)
{
  Outlook.MailItem newMail = GetEmailWithId(entryIdItem); // get that email

  // ... move email and change the subject
}

但在某些情况下,会触发桌面警报以及播放声音(当然,根据Outlook规则本身)。

在桌面提醒中,我可以看到主题尚未更改,因此在我的插件有机会移动消息并更改主题之前应用了Outlook规则。

那么,在任何规则,桌面提醒或任何事情被解雇之前,如何“抓住”电子邮件。

换句话说,在应用任何规则之前,如何处理电子邮件时,我如何首先定位我的插件,以便Outlook规则可以处理新主题等等。

1 个答案:

答案 0 :(得分:0)

你不能 - 所有这些事件都是异步的,它们的顺序是不确定的。