VSTO邮件发送事件

本文关键字:事件 VSTO | 更新日期: 2023-09-27 18:14:17

我有一个小问题与VSTO。我需要得到发送的邮件,并坚持它的内容。有一种on MailSent事件吗?

我现在找到的唯一解决方案是在SentItems文件夹上连接ItemAdd事件。

Outlook.Folder sentItems =
     Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderSentMail)
    as Outlook.Folder;
sentItems.Items.ItemAdd += new ItemsEvents_ItemAddEventHandler(SentItemFolder_ItemAdd);
private void SentItemFolder_ItemAdd(object addedItem)
{
    Outlook.MailItem newItem = (Outlook.MailItem)addedItem;
    MessageBox.Show(newItem.EntryID);
}

这真的是唯一的方法吗?或者你们知道什么更优雅的解决方案吗?

VSTO邮件发送事件

您可以使用ItemSend事件,如下所示:

private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
    this.Application.ItemSend += new Microsoft.Office.Interop.Outlook.ApplicationEvents_11_ItemSendEventHandler(Application_ItemSend);
}

private void Application_ItemSend(object Item, ref bool Cancel)
{
    // Code to run when item is being sent
}