2012-06-13 2 views
3

Я создаю надстройку Outlook, которая может сохранять выбранные письма во внешней базе данных.Outlook 2010 - C# - Получить учетную запись, связанную с почтой

Использование Office.IRibbonControl Я могу получить список выбранного электронного письма, но мне нужно знать, с какой учетной записью связаны эти письма.

Я имею в виду, если Outlook получит сообщения от [email protected] и от [email protected], когда я хочу сохранить сообщение Мне нужно знать эту информацию.

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

В настоящее время, только я нашел использует текущий путь к папке ..

public void SayHello(Office.IRibbonControl control) 
{ 
    MessageBox.Show(
     "Folder: " + (control.Context as Outlook.Explorer).CurrentFolder.FolderPath, 
     "Test", 
     MessageBoxButtons.OK, 
     MessageBoxIcon.Information); 
} 

Но этот метод не достаточно хорошо. Если я открою сообщение (в отдельном окне), а затем я изменю текущую папку, это не сработает.

Кроме того, Outlook.Explorer.CurrentAccount не работает должным образом.

Итак, вот мой вопрос: Как получить доступ к связанной учетной записи, имеющей объект Outlook.MailItem?

ответ

3

Вы можете получить родительскую папку (MailItem.Parent) Outlook.MailItem, чтобы определить ее путь к папке (Folder.FolderPath).

Outlook.Folder parent = MailItem.Parent as Outlook.Folder; 
string itemPath = parent.FolderPath; 
+0

Спасибо, еще один вопрос: всегда ли путь содержит мою учетную запись электронной почты? – user1453442

+0

Да - [согласно MSDN] (http://msdn.microsoft.com/en-us/library/ff863981.aspx), он всегда будет содержать путь к папке для текущего элемента. – SliverNinja

+0

Еще раз спасибо :-) И извините, я не привык к MSDN, у меня есть некоторые трудности, чтобы найти информацию об этом. – user1453442

Смежные вопросы