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 = "*****@*****.**"
            PersonalStorageQueryBuilder queryBuilder = new PersonalStorageQueryBuilder();
            queryBuilder.From.Contains("*****@*****.**");

            // 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 = "*****@*****.**" with new properties
            inbox.ChangeMessages(changeList, updatedProperties);
        }
Ejemplo n.º 2
0
        public static void Run()
        {
            //ExStart:ReadNamedMAPIProperties
            // The path to the File directory.
            string dataDir = RunExamples.GetDataDir_Outlook();

            // Load from file
            MapiMessage message = MapiMessage.FromFile(dataDir + @"message.msg");

            // Get all named MAPI properties
            MapiPropertyCollection properties = message.NamedProperties;

            // Read all properties in foreach loop
            foreach (MapiNamedProperty mapiNamedProp in properties.Values)
            {
                // Read any specific property
                switch (mapiNamedProp.NameId)
                {
                case "TEST":
                    Console.WriteLine("{0} = {1}", mapiNamedProp.NameId, mapiNamedProp.GetString());
                    break;

                case "MYPROP":
                    Console.WriteLine("{0} = {1}", mapiNamedProp.NameId, mapiNamedProp.GetString());
                    break;

                default: break;
                }
            }
            //ExEnd:ReadNamedMAPIProperties
        }
        // ExStart:UpdatePSTCustomProperites
        public static void Run()
        {
            // Load the Outlook file
            string dataDir = RunExamples.GetDataDir_Outlook() + "Outlook.pst";
            using (PersonalStorage personalStorage = PersonalStorage.FromFile(dataDir))
            {
                FolderInfo testFolder = personalStorage.RootFolder.GetSubFolder("Inbox");

                // Create the collection of message properties for adding or updating
                MapiPropertyCollection newProperties = new MapiPropertyCollection();

                // Normal,  Custom and PidLidLogFlags named  property
                MapiProperty property = new MapiProperty(MapiPropertyTag.PR_ORG_EMAIL_ADDR_W,Encoding.Unicode.GetBytes("*****@*****.**"));
                MapiProperty namedProperty1 = new MapiNamedProperty(GenerateNamedPropertyTag(0, MapiPropertyType.PT_LONG),"ITEM_ID",Guid.NewGuid(),BitConverter.GetBytes(123));
                MapiProperty namedProperty2 = new MapiNamedProperty(GenerateNamedPropertyTag(1, MapiPropertyType.PT_LONG),0x0000870C,new Guid("0006200A-0000-0000-C000-000000000046"),BitConverter.GetBytes(0));
                newProperties.Add(namedProperty1.Tag, namedProperty1);
                newProperties.Add(namedProperty2.Tag, namedProperty2);
                newProperties.Add(property.Tag, property);
                testFolder.ChangeMessages(testFolder.EnumerateMessagesEntryId(), newProperties);
            }          
        }
Ejemplo n.º 4
0
        // ExStart:UpdatePSTCustomProperites
        public static void Run()
        {
            // Load the Outlook file
            string dataDir = RunExamples.GetDataDir_Outlook() + "Outlook.pst";

            using (PersonalStorage personalStorage = PersonalStorage.FromFile(dataDir))
            {
                FolderInfo testFolder = personalStorage.RootFolder.GetSubFolder("Inbox");

                // Create the collection of message properties for adding or updating
                MapiPropertyCollection newProperties = new MapiPropertyCollection();

                // Normal,  Custom and PidLidLogFlags named  property
                MapiProperty property       = new MapiProperty(MapiPropertyTag.PR_ORG_EMAIL_ADDR_W, Encoding.Unicode.GetBytes("*****@*****.**"));
                MapiProperty namedProperty1 = new MapiNamedProperty(GenerateNamedPropertyTag(0, MapiPropertyType.PT_LONG), "ITEM_ID", Guid.NewGuid(), BitConverter.GetBytes(123));
                MapiProperty namedProperty2 = new MapiNamedProperty(GenerateNamedPropertyTag(1, MapiPropertyType.PT_LONG), 0x0000870C, new Guid("0006200A-0000-0000-C000-000000000046"), BitConverter.GetBytes(0));
                newProperties.Add(namedProperty1.Tag, namedProperty1);
                newProperties.Add(namedProperty2.Tag, namedProperty2);
                newProperties.Add(property.Tag, property);
                testFolder.ChangeMessages(testFolder.EnumerateMessagesEntryId(), newProperties);
            }
        }
        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 = "*****@*****.**"
            PersonalStorageQueryBuilder queryBuilder = new PersonalStorageQueryBuilder();

            queryBuilder.From.Contains("*****@*****.**");

            // 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 = "*****@*****.**" with new properties
            inbox.ChangeMessages(changeList, updatedProperties);
            // ExEnd:UpdateBulkMessagesInPSTFile
        }