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); }
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); } }
// 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 }