Получить детали почтового отправления из приложения .MSG - PullRequest
1 голос
/ 13 марта 2012

Можно ли получить сведения об элементе почты Outlook, перетаскивая одно вложение из файла .MSG в приложение C #?Мое приложение в настоящее время отделяет содержимое .MSG, когда оно помещается в мое приложение, однако я хочу пойти дальше и получить отправителя, дату / время, полученные и т. Д. Из одного вложения, которое является частью .msg.Это то, что я сейчас пытаюсь:

Outlook.Application myApp = new Outlook.Application();
object selectedItem = myApp.ActiveExplorer().Selection[1];
Outlook.MailItem item = selectedItem as Outlook.MailItem;
string sender = item.SenderName;

Когда я пытаюсь разыграть selectedItem как элемент Outlook.Mail, ничего не происходит.Буду признателен за любую помощь в этом вопросе

Спасибо

Крис

Со времени своего первого поста я искал другие способы получения информации, которую я ищу, поскольку яне удалось выполнить описанный выше метод ..

Я посмотрел следующую статью http://msdn.microsoft.com/en-us/library/aa219397(v=office.11).aspx и включил код в тестовый проект.Вначале я знаю, что спросил, могу ли я получить подробные сообщения из вложения, однако, если пользователь перетаскивает вложение из текущего открытого сообщения, мне было интересно, можно ли получить подробности сообщения из метода ActiveExplorer.

В точке, где:

myOlSel.Item (x) .SenderName & ";"

Outlook запрашивает у меня сообщение "Программа пытается получить доступ к адресу электронной почты ...", но вэто окно сообщения зависает, и я не могу выбрать один из вариантов.После прочтения я понимаю, почему это происходит, но есть ли что-нибудь вокруг него?

Спасибо

Крис

1 Ответ

1 голос
/ 13 марта 2012

Может быть, selectedItem имеет значение null, потому что на самом деле нет выбранного элемента с индексом 1?

У меня есть следующий вариант: is (хотя это и элемент назначения)

Inspector activeInspector = this.OutlookApp.ActiveInspector() as Inspector;
object currentItem = activeInspector.CurrentItem;
if (currentItem != null && currentItem is AppointmentItem)
{
     AppointmentItem appItem = currentItem as AppointmentItem;
}

Возможно, вам следует использовать Selection [0]?

...