2016-02-04 8 views
0

Я пытаюсь решить проблему, когда у меня есть какая-то контактная информация, указанная в файлах Outlook * .msg. Я хочу проанализировать эти файлы, используя скрипт для извлечения контактных писем и имен. Я попробовал несколько решений:Извлечение контактной информации из контактной группы Outlook доступно в виде файла * .msg

  • Я попытался с помощью библиотеки электронной Aspose, но не смог добраться до контактной информации.
  • Если я открываю .msg файл с Outlook, и сохраните файл как .txt файл в полученный файл представляет собой простой текстовый файл с контактной информацией перечисленной и этот файл можно разобрать с библиотеками IO и извлеките информацию. Однако мне более сотни таких файлов .msg. Я использую .NET и не могу понять, как реализовать текст «« Сохранить как », который я смог сделать вручную.

Любые предложения о том, как это сделать?

Благодаря

Суреш

ответ

0

При использовании Redemption вариант, что-то вроде следующего должно работать:

Redemption.RDOSession session = new Redemption.RDOSession(); 
Redemption.RDOMail msg = session.GetMessageFromMsgFile(@"c:\temp\TestContact.msg"); 
//is it really a contact? Could be a regular message or an RDODistListItem (all derived from RDOMail) 
Redemption.RDOContactItem contact = msg as Redemption.RDOContactItem; 
if (contact != null) 
{ 
    MessageBox.Show(contact.FirstName); 
} 
else 
{ 
    Redemption.RDODistListItem dl= msg as Redemption.RDODistListItem; 
    if (dl != null) 
    { 
     MessageBox.Show(dl.FileAs); 
    } 
} 
+0

@ Dimitry спасибо, что нашли время. Я начал играть с Redemption за советом. Я могу создать объект 'RDOMail', но приведение' RDOContact' действительно является нулевым. Я заглянул в объект 'msg', и есть свойство, называемое ** Members **, которое показывает количество 2, которое может быть числом контактов в этом файле, поскольку я знаю, что в тестовом файле я использую 2 контакта , Тип показывает 'System .__ ComObject', вы знаете, как читать эту информацию, поскольку я никогда не работал с COM-взаимодействием. – skoppisetti

+0

Это список рассылки? Попробуйте применить к объекту RDODistListItem (см. Обновленный код выше) –

+0

Это действительно 'RDODistListItem'. Теперь я могу получить перечисление в коллекции 'Members', которая состоит из объектов RDOAddressEntry. Хотя я получаю «Имя» от этого объекта, адрес электронной почты все еще неуловим. Существует свойство SMTPAddress', но по какой-то причине его адрес не совпадает с тем, который я вижу при открытии файла в Outlook. В любом случае я немного ближе к решению, которое я думаю. – skoppisetti

0
RDOSession session = RedemptionLoader.new_RDOSession(); 
session.Logon(); 
RDOFolder folder = session.GetDefaultFolder(rdoDefaultFolders.olFolderContacts); 
Console.WriteLine("Extracting contacts..."); 

foreach (RDOFolder subFolder in folder.Folders) 
{ 
    if (subFolder.Name == "CAS_Notifications") 
    { 
     foreach (var rdoItem in subFolder.Items) 
     { 
      RDOContactItem contactItem = rdoItem as RDOContactItem; 
      RDODistListItem distList = rdoItem as RDODistListItem; 
      if (distList != null) 
      { 
       Console.WriteLine("Distribution List"); 
       foreach (RDOAddressEntry rdoAddressEntry in distList.OneOffMembers) 
       { 
        Console.WriteLine("Name: {0}; Email: {1}", rdoAddressEntry.Name, rdoAddressEntry.SMTPAddress); 
       } 
      } 
      else if (contactItem != null) 
      { 
       Console.WriteLine("Name: {0}; Email: {1}", contactItem.FullName, contactItem.Email1Address); 
      } 
     } 
    } 
} 
0

Мы очень сожалеем о получении вам на это немного поздно.

Какова актуальная проблема при использовании Aspose API? API предоставляет возможность читать файлы Outlook .MSG, а также списки рассылки без необходимости установки MS Outlook. Пожалуйста, обратите внимание на следующие статьи документации:

Если вы по-прежнему сталкиваются проблемы при получении необходимой информации с последней версией API, вы можете оставить свой запрос по с образцами MSG-файлов до Aspose.Email forum. Мы исследуем их в конце и помогаем вам дальше.

Я работаю с Aspose в качестве разработчика-евангелиста.

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

  • Нет связанных вопросов^_^