【发布时间】:2016-02-18 14:01:46
【问题描述】:
我有一个适用于 Outlook 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 规则可以处理新主题等等。
【问题讨论】:
标签: c# outlook-addin mapi