场景:假设草稿中有一个MailItem,我将其打开并单击“发送”按钮。
操纵Item_Send将邮件项目移动到自定义文件夹
void Application_ItemSend(object objItem, ref bool blCancel)
{
Outlook.MailItem mailItem = objItem as Outlook.MailItem;
if (mailItem != null)
{
if (mailItem.Mileage != null)
{
blCancel = true;
string folderPath =
Application.Session.DefaultStore.GetRootFolder().FolderPath
+ Utilities.OUTBOXPATH;
Outlook.Folder folder = GetFolder(folderPath);
if (folder != null)
{
mailItem.Move(folder);
}
}
}
}
现在MailItem移动到新文件夹ItemAdd事件
private void OutboxItems_ItemAdd(object objItem)
{
if (objItem is MailItem)
{
Outlook.MailItem mailItem = objItem as Outlook.MailItem;
if (mailItem != null)
{
(mailItem as _MailItem).Send();
}
}
}
但在它之间它会发出警告 尝试的操作失败。无法找到对象。
任何人都可以告诉我们原因是什么?
答案 0 :(得分:0)
您不应该移动Outlook尝试发送的邮件。您可以改为设置MailItem.SaveSentMessageFolder属性 - 在实际发送邮件后,Outlook会将邮件移到那里。