Как получить информацию из файла .msg (IPM.Appointment) C#

У меня есть некоторые встречи Outlook, сохраненные на моем локальном диске. Как я могу получить тему и место встречи на C#, не создавая объект приложения Outlook (на моем компьютере Outlook не установлен!) и не тратя деньги на профессиональное решение?

Было бы идеально, если бы решение создало для меня объект типа AppointmentItem, как в этом примере (который не работает):

string path = "C:\\appointments\\myAppointment.msg"
Microsoft.Office.Interop.Outlook.AppointmentItem appointment = new Microsoft.Office.Interop.Outlook.AppointmentItem(path);

person user3531095    schedule 14.04.2014    source источник
comment
Может быть, эта ссылка может помочь. stackoverflow.com/questions/1952289/   -  person user3041212    schedule 14.04.2014
comment
Эта ссылка не помогает: я пытаюсь создать элемент AppointmentItem из существующего файла .msg.   -  person user3531095    schedule 14.04.2014


Ответы (2)


попробуйте использовать verbatium перед строковым путем. например,
string path = @"";

Может эти ссылки помогут.

http://www.codeproject.com/Articles/32899/Reading-an-Outlook-MSG-File-in-C

Как создавать и отправлять встречи в Microsoft Outlook календарь?

person user3041212    schedule 14.04.2014
comment
С или без дословно, во время выполнения я получаю сообщение об ошибке 80040154 Класс не зарегистрирован. Первая ссылка не помогает, поскольку речь идет не о создании элементов AppointmentItem из существующих файлов .msg. Вторая ссылка не помогает, потому что в этом решении нет метода для чтения места, где происходит встреча (он был написан для чтения MailItems, а не AppointmentItems). - person user3531095; 14.04.2014

Вы можете попробовать использовать Redemption и его RDOSession.GetMNessageFromMsgFile. Обратите внимание, что Outlook или автономная версия MAPI должны быть установлены.

person Dmitry Streblechenko    schedule 14.04.2014