Я работаю над проектом на C#, который включает в себя синтаксический анализ файлов .pst, и моя группа решила использовать для этого библиотеку Redemption. Мы успешно проанализировали файлы электронной почты в объекты RDOMail, однако теперь мы хотим записать подмножество этих писем в новый файл .pst. Я успешно записал подмножество в файлы .eml с помощью функции email.SaveAs(), но не могу понять, как сохранить этот список в виде .pst. Я просматривал документацию, однако она оставляет желать лучшего. Может ли кто-нибудь, кто использовал Redemption, указать мне правильное направление или привести пример ?? Заранее спасибо за вашу помощь!
Создание pst-файла с помощью Redemption
Ответы (2)
Вам нужно будет создать/открыть файл PST с помощью RDOSession.Stores.AddPstStore (возвращает RDOPSTStore). объект). Когда у вас есть хранилище, вы можете открывать/создавать папки (начиная с RDOStore.IPMRootFolder), создавать сообщения (RDOFolder.Items.Add) и копировать старые сообщения в новые сообщения (RDOMail.CopyTo(RDOMail/RDOFolder)).
person
Dmitry Streblechenko
schedule
08.03.2013
Привет @Dmitry, у меня проблемы с сохранением объектов RDOMail в объект RDOFolder. Не могли бы вы проверить мой пост здесь: stackoverflow. ком/вопросы/30407435/
- person Freestyle076; 26.05.2015
Я изо всех сил пытался сделать это в течение последних нескольких часов и хотел бы сэкономить это время для других.
Вы должны установить redemption и добавить его в качестве ссылки на свой проект, чтобы он работал.
RDOSession session = new RDOSession(); // throws exception 1
session.LogonPstStore(@"c:\temp\output.pst");
RDOFolder folder = session.GetDefaultFolder(rdoDefaultFolders.olFolderInbox);
string[] fileEntries = Directory.GetFiles(@"C:\emlFiles\", "*.eml");
foreach (string filePath in fileEntries)
{
RDOMail mail = folder.Items.Add("IPM.Mail");
mail.Sent = true;
mail.Import(filePath, 1024);
// folder.Items.Add(mail);
mail.Save();
}
session.Logoff();
person
Thibault
schedule
03.05.2017