public static void Run()
{
// ExStart:UpdateBulkMessagesInPSTFile
// The path to the File directory.
string dataDir = RunExamples.GetDataDir_Outlook() + "Sub.pst";
// Load the Outlook PST file
PersonalStorage personalStorage = PersonalStorage.FromFile(dataDir);
// Get Requierd Subfolder
FolderInfo inbox = personalStorage.RootFolder.GetSubFolder("Inbox");
// find messages having From = "[email protected]"
PersonalStorageQueryBuilder queryBuilder = new PersonalStorageQueryBuilder();
queryBuilder.From.Contains("[email protected]");
// Get Contents from Query
MessageInfoCollection messages = inbox.GetContents(queryBuilder.GetQuery());
// Save (MessageInfo,EntryIdString) in List
IList<string> changeList = new List<string>();
foreach (MessageInfo messageInfo in messages)
{
changeList.Add(messageInfo.EntryIdString);
}
// Compose the new properties
MapiPropertyCollection updatedProperties = new MapiPropertyCollection();
updatedProperties.Add(MapiPropertyTag.PR_SUBJECT_W, new MapiProperty(MapiPropertyTag.PR_SUBJECT_W, Encoding.Unicode.GetBytes("New Subject")));
updatedProperties.Add(MapiPropertyTag.PR_IMPORTANCE, new MapiProperty(MapiPropertyTag.PR_IMPORTANCE, BitConverter.GetBytes((long)2)));
// update messages having From = "[email protected]" with new properties
inbox.ChangeMessages(changeList, updatedProperties);
}
// ExEnd:UpdateBulkMessagesInPSTFile