我们如何以及在何处运行取决于发件人地址的代码

时间:2012-07-04 18:46:36

标签: c# outlook outlook-addin

我正在尝试构建的加载项必须根据发件人的地址更改新邮件的BCC字段。

由于我是Outlook编程的新手,我对此article进行了调整并构建了示例加载项。 他们使用的事件是NewInspector,正如您所读到的那样,在新的Outlook项目窗口出现之前就会被触发。但是,如果我们将此代码粘贴到NewInspector事件处理程序中:

        Outlook.MailItem item = Inspector.CurrentItem as Outlook.MailItem;
        if (item != null)
        {
            if (item.EntryID == null)
            {
                if (item.SenderEmailAddress == "...")
                    item.BCC = "....";
            }
        }

有效,因为刚刚加载窗口时发件人的地址为空。

我考虑过使用Send事件,每个创建的新邮件都会将其发送事件处理程序附加到某个方法,而该方法将根据发送电子邮件时的发件人地址更改BCC。

唯一的问题是,由于某些原因,我无法在VS 2010专业版中看到发送事件。

还有其他方法可以做我需要的吗?

1 个答案:

答案 0 :(得分:0)

您需要使用Outlook.ItemEvents_10_Event事件界面Outlook.MailItem),因为methodevent都绑定了{{3}}同名( Send )。这只是您在Outlook对象模型中必须注意的一个怪癖。这应该适合你:

((Outlook.ItemEvents_10_Event)MailItem).Send += new Outlook.ItemEvents_10_SendEventHandler(MailItem_Send);