Как запрограммировать надстройку Outlook 2007 с несколькими почтовыми ящиками

Я пытаюсь понять, как написать простую надстройку для Excel 2007, но такую, которая взаимодействует только с одним из моих почтовых ящиков. В настоящее время у меня есть два адреса электронной почты, поступающие в мой Outlook, каждый из которых находится в определенном «почтовом ящике». Мне было интересно, как мне указать событие NewMail для определенного почтового ящика?

Или, возможно, не так чисто, но как я мог бы написать функцию if, которая указывает, к какому почтовому ящику/электронной почте адресован любой новый элемент...

Надеюсь, это имеет смысл. Спасибо


person keynesiancross    schedule 29.11.2011    source источник


Ответы (1)


Чтобы поймать новое почтовое событие, добавьте этот код в метод запуска надстройки:

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 == "[email protected]")
    {
        // do whatever You like
    }
}  

Добавьте оператор using также:

using Outlook = Microsoft.Office.Interop.Outlook;  
person Filip Popović    schedule 29.11.2011