如何在ItemSend事件处理程序中确定邮件项目是回复

本文关键字:项目 回复 ItemSend 事件处理 程序 | 更新日期: 2023-09-27 18:20:05

我有这样一个类:

using Office = Microsoft.Office.Core;
using Outlook = Microsoft.Office.Interop.Outlook;
public partial class ThisAddIn
{
    private void OnItemSend(object Item, ref bool Cancel)
    {
        Outlook.MailItem mailItem = Item as Outlook.MailItem;
    }
    private void OnNewInspector(Outlook.Inspector Inspector)
    {
        ((Outlook.ItemEvents_10_Event)mailItem).Reply += new Outlook.ItemEvents_10_ReplyEventHandler(OnMailItemReply);
    }
    private void OnMailItemReply(object Response, ref bool Cancel)
    {
        var replyItem = Response as Outlook.MailItem;
        // Maybe I need to add or change in replyItem some property??
    }
}

我需要在OnItemSend事件处理程序中确定mailItem是一条回复消息。此外,我还需要在OnMailItemReply方法中添加一些值。

如何在ItemSend事件处理程序中确定邮件项目是回复

您可以选择

  1. 检查主题是否包含RE或FW前缀。

  2. 读取ConversationIndex属性-如果其长度为44(扩展MAPI级别为22字节),则表示您收到了会话中的第一封邮件。如果大于此值,您将收到回复/转发。请参阅MSDN 上的跟踪对话