我的任务是创建一个管理邮箱警报的插件。基本上,添加需要不断扫描收件箱,一旦在一段时间内收到一定数量的电子邮件,它需要向另一个收件箱发送电子邮件。
有人可以给我一些指示从哪里开始?
如果您有任何其他建议,我会向他们开放,例如创建宏。无论哪个更容易,更有效率。
几年前我有一个Outlook VSTO加入视图的项目。应该可以在Addin的PageLoad事件中编写此代码。
以下是循环日历的示例默认文件夹的项目 - 循环邮件是类似的:
Microsoft.Office.Interop.Outlook.Application oApp = null;
Microsoft.Office.Interop.Outlook.NameSpace mapiNamespace = null;
Microsoft.Office.Interop.Outlook.MAPIFolder calendarFolder = null;
Microsoft.Office.Interop.Outlook.Items outlookCalendarItems = null;
oApp = new Microsoft.Office.Interop.Outlook.Application();
mapiNamespace = oApp.GetNamespace("MAPI");
calendarFolder = mapiNamespace.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderCalendar);
outlookCalendarItems = calendarFolder.Items;
outlookCalendarItems.IncludeRecurrences = true;
oApp = new Microsoft.Office.Interop.Outlook.Application();
mapiNamespace = oApp.GetNamespace("MAPI");
try
{
foreach (Folder fold in mapiNamespace.Folders)
{
if ( fold != null && fold.FolderPath != null)
{
if (fold.FolderPath.Contains(emailAccount))
{ //only own folders
// ------------- you can loop the folderitems here -------------
}
}
}
}
catch (System.Exception ex)
{
}
注意:在经常测试时,您必须重新激活vsto插件。你可以在outlook settins / addins / Com Addins中找到addin重新激活
希望这可以帮到你。
你最好的选择是监视收件箱的Folder.Items集合的Items.ItemAdd event。这将触发添加到收件箱的每个电子邮件(除非添加了非常大的数量),并且可以比监视Application.NewMailEx事件更可靠。您可以交叉引用事件触发的时间与您定义的时间段,并在必要时进行处理。