如何使用多个邮箱编程Outlook 2007加载项

时间:2011-11-29 18:49:38

标签: c# outlook-addin office-interop office-2007

我正在尝试编写如何为Excel 2007编写一个简单的加载项,但只能与我的一个邮箱进行交互。目前,我的Outlook中有两个电子邮件地址,每个都在特定的“邮箱”中。我想知道,我如何为特定邮箱指定一个NewMail事件?

或者,也许不是很干净,但我怎么能写一个if函数来指定任何新项目发送到哪个邮箱/电子邮件...

希望这是有道理的。感谢

1 个答案:

答案 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;