Outlook 加载项在应用程序启动时不会捕获电子邮件 - 应该实现什么钩子
本文关键字:电子邮件 实现 什么 应用程序 加载项 启动 Outlook | 更新日期: 2023-09-27 18:36:45
我有一个 Outlook 2013 加载项,它通过 NewEmailEx()
事件处理程序处理到达时的电子邮件。
如果 Outlook 正在运行,这很好用,但如果它没有运行,则不会处理这些电子邮件。
我应该在ThisAddIn_Startup()
中包含哪个事件处理程序,以便我可以在启动 Outlook 时运行收件箱中新的/未读的"未处理"电子邮件?
您还可以在"收件箱"文件夹上使用 Items.ItemAdd 事件 - 当 Outlook 将邮箱与服务器同步并将新邮件下载到该文件夹时,它将触发该事件。
遗憾的是,当
Outlook 启动时,没有引发一个事件来指示收件箱中有未读邮件。或者在加载项启动时更加出色。
但是,您可以获取未读消息的列表,并在引发启动事件时处理它们。
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
MAPIFolder inbox =
this.Application.ActiveExplorer().Session.GetDefaultFolder
(Outlook.OlDefaultFolders.olFolderInbox);
Items unreadItems = inbox.Items.Restrict("[Unread]=true");
foreach (var unreadItem in unreadItems)
{
// Process item
Marshal.ReleaseComObject(unreadItem);
}
}