Updating PST Items with Custom Properties supported with Aspose.Email for .NET 6.9.0

Share on FacebookTweet about this on TwitterShare on LinkedIn

We are pleased to announce the release of Aspose.Email for .NET 6.9.0. It includes new feature of marking items in-place in a PST file. It also includes enhancement for syncing Exchange server’s folder information and detecting embedded message type using the MailMessage API. In addition, it includes a number of bug fixes that brings further stability to the API functionality. For a complete list of what is new and fixed, please visit our Product documentation section for Release Notes.

New Features and Enhancements

Updating Messages In-Place in a PST: This new feature provides the capability to update certain properties in a message file that could be lateral used to determine the marked messages. This can be achieved with the help of custom properties set on message files. The ChangeMessages and ChangeMessage introduced respectively by the FolderInfo and PersonalStorage classes can be used to achieve this. Our documentation article, Updating Custom Properties on Messages in PST file, demonstrates the usage of this new feature.

using (PersonalStorage pst = PersonalStorage.FromFile(@"test.pst"))
{
    FolderInfo testFolder = pst.RootFolder.GetSubFolder("test");

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

    // Normal property
    MapiProperty property = new MapiProperty(
        MapiPropertyTag.PR_ORG_EMAIL_ADDR_W,
        Encoding.Unicode.GetBytes("test_address@org.com"));

    // Custom named property
    MapiProperty namedProperty1 = new MapiNamedProperty(
        GenerateNamedPropertyTag(0, MapiPropertyType.PT_LONG),
        "ITEM_ID",
        Guid.NewGuid(),
        BitConverter.GetBytes(123));

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

Detecting Embedded Message in a MIME message: This month’s release also includes a new feature of detecting an attachment for embedded message in a MIME message. The IsEmbeddedMessage property of the Attachment class provides the capability to achieve this.

Support for Synching Folder Information on Exchange Server: This month’s release further enhances the functionality of synching folder items on Exchange server. The feature of synching folder contents was supported earlier. However, this month’s release further enhances the functionality by synching the folder name and properties as well.

Other Improvements

This month’s release also fixes a number of bugs that were reported with the earlier version of the API. Fixing of these issues further enhances the quality of API functionality.

API Resources

The following API resources can be of help to you in getting started with Aspose.Email API.