我正在尝试编写如何为Excel 2007编写一个简单的加载项,但只能与我的一个邮箱进行交互。目前,我的Outlook中有两个电子邮件地址,每个都在特定的“邮箱”中。我想知道,我如何为特定邮箱指定一个NewMail事件?
或者,也许不是很干净,但我怎么能写一个if函数来指定任何新项目发送到哪个邮箱/电子邮件...
希望这是有道理的。感谢
答案 0 :(得分:2)
要捕获新邮件事件,请将此代码添加到addin启动方法:
this.Application.NewMailEx +=
new Outlook.ApplicationEvents_11_NewMailExEventHandler(Application_NewMailEx);
然后添加方法来处理NewMailEx事件:
void Application_NewMailEx(string EntryID)
{
// get MailItem for this new mail
Outlook.Explorers explorers = this.Application.Explorers;
Outlook.MailItem newMail =
(Outlook.MailItem)explorers.Application.Session.GetItemFromID(EntryID, System.Reflection.Missing.Value);
// check SendUsingAccount to see if it came in mailbox we are interested in
if (newMail.SendUsingAccount.DisplayName == "your.name@your.domain.com")
{
// do whatever You like
}
}
同时添加using语句:
using Outlook = Microsoft.Office.Interop.Outlook;