Aspose.Email.Examples.CSharp.Email.Outlook.UpdateBulkMessagesInPSTFile.Run C# (CSharp) Method

Run() public static method

public static Run ( ) : void
return void
        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
UpdateBulkMessagesInPSTFile