我正在编写一个outlook插件, 我需要在收到电子邮件时,它会照常转到默认的收件箱文件夹,但它会复制该传入的电子邮件并将其放入另一个文件夹(例如Junk文件夹)。 但我遇到了异常“无法移动物品”。我一直在移动电子邮件的副本。任何想法?
private void items_ItemAdd(object Item)
{
Outlook.MAPIFolder inBox = (Outlook.MAPIFolder)
this.Application.ActiveExplorer().Session.GetDefaultFolder
(Outlook.OlDefaultFolders.olFolderInbox);
// the incoming email
Outlook.MailItem mail = (Outlook.MailItem)Item;
//make a copy of it but error occurs
Outlook.MailItem cItem = mail.copy();
//
cItem = (Outlook.MailItem)cItem.Move((Outlook.MAPIFolder)
this.Application.ActiveExplorer().Session.GetDefaultFolder
(Outlook.OlDefaultFolders.olFolderJunk));
答案 0 :(得分:1)
您在ItemAdd事件处理程序中。尝试将项目的条目id存储在变量或列表中并启动计时器(使用Forms命名空间中的计时器)。当时间触发时,您将离开事件处理程序并且应该能够调用MailItem.Move。