我正在尝试构建的加载项必须根据发件人的地址更改新邮件的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专业版中看到发送事件。
还有其他方法可以做我需要的吗?
答案 0 :(得分:0)
您需要使用Outlook.ItemEvents_10_Event的事件界面(Outlook.MailItem
),因为method和event都绑定了{{3}}同名( Send
)。这只是您在Outlook对象模型中必须注意的一个怪癖。这应该适合你:
((Outlook.ItemEvents_10_Event)MailItem).Send += new Outlook.ItemEvents_10_SendEventHandler(MailItem_Send);