当从 Outlook 发送项目时,我正在使用ApplicationEvents_11_ItemSendEventHandler
(请参阅http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.applicationevents_11_itemsendeventhandler.aspx )进行一些处理。
但是,由于此事件在“发送”而不是“发送”时触发,因此我无法获取某些信息,例如发件人、发送时间等。
项目实际发送后是否会触发替代事件?我读过这篇博文;http://easyvsto.wordpress.com/2010/07/27/how-to-save-mail-content-when-a-mail-is-sent-from-outlook/但我对出现的项目持谨慎态度在已发送项目文件夹中,考虑到用户可以禁用此功能。
编辑:我应该补充一点,我实际上已经尝试过“查看已发送项目文件夹”的方法,并且注意到该ItemAdd
事件似乎只在我发送的第一封电子邮件中触发,然后在我重新启动 Outlook 之前不会再次触发。我的代码如下;
var sentMail = Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderSentMail);
sentMail.Items.ItemAdd += new Outlook.ItemsEvents_ItemAddEventHandler(Items_ItemAdd);
而我的方法...
void Items_ItemAdd(object item)
{
MessageBox.Show(((Outlook.MailItem)item).Subject);
}