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

时间:2014-08-28 23:56:08

标签: c# .net outlook ms-office add-in

我有这样一个班级:

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方法中添加一些值。

1 个答案:

答案 0 :(得分:0)

你可以

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

  2. 读取ConversationIndex属性 - 如果其长度为44(扩展MAPI级别为22个字节),则会话中有第一条消息。如果它大于那个,你有一个回复/转发。请参阅MSDN上的Tracking Conversations