Как программировать надстройку Outlook 2007 с несколькими почтовыми ящиками - PullRequest
0 голосов
/ 29 ноября 2011

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

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

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

1 Ответ

2 голосов
/ 30 ноября 2011

Чтобы перехватить новое почтовое событие, добавьте этот код в метод запуска 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;  
...