Learn what's new across releases, with details of features, enhancements, and resolved issues.
Aspose.Email Product Family - Oct 2026Nov 3, 2026
Aspose.Email for .NET V26.10Major versionOct 31, 2026
Features- Implemented Save and Load methods and added async support for MAPI items.
Fixes- Incorrect loading VCF file version 4.0 to VCardContact with a value type single URI (Photo, Logo, Sound, Key).
- FolderInfo.SetReadStatus throws KeyNotFoundException when the list holds only some of the folder's messages.
- PersonalStorage.SplitInto keeps the last part file open and does not raise StorageProcessed for it.
- PersonalStorage.MergeWith silently drops a nested folder when the source is a part written by SplitInto.
- MboxrdStorageReader.GetTotalItemsCount() returns the number of remaining messages instead of the total.
- MapiAttachment.ContentLength returns 0 for an embedded message attachment.
- MapiRecipientCollection.Add(address, displayName, recipientType) sets AddressType to UNKNOWN for SMTP addresses.
- VCardContact.Save throws NullReferenceException for an ExtendedProperties item without ':'.
- VCard 2.1/3.0: CHARSET parameter added to binary PHOTO and VCard 4.0: PHOTO written as 3.0.
- MapiContact: GENDER and X- properties from vCard are not imported; Gender is written as X-GENDER:Male instead of GENDER:M in vCard 4.0.
- MessageValidator.Validate returns IsSuccess False and errors.
- VCardContact.Load does not populate IdentificationInfo.Anniversary.
Aspose.Email for C++ V26.10Major versionOct 31, 2026
Features- Support for RFC Message file format detection - Files that are not standard EML or MHT formats are now correctly identified as RFC messages, allowing broader compatibility when processing email files. The detection uses the new FileFormatType::RfcMessage enum value.
- TgzReader GetItemsCount method for item type quantities - A new method enables you to retrieve the count of specific item types within a TGZ archive, simplifying content analysis. This addition works alongside the ItemType enumeration for clear type specification.
- Adding Attachments from a Stream or a File:
- Previously, adding binary content to a MapiMessage required a byte array, so the entire attachment had to be held in memory before it could be added. Attachment content can now be supplied as a stream or taken directly from a file, and it is read on demand instead of being copied into memory.
- New Methods and Properties:
- System::SharedPtr<MapiAttachment> MapiAttachmentCollection::Add(System::String name, System::SharedPtr<System::IO::Stream> content) Adds an attachment whose content is read from the stream. Content is taken from the stream's current position to its end, and the range is fixed at the moment of the call.
- System::SharedPtr<MapiAttachment> MapiAttachmentCollection::Add(System::String name, System::SharedPtr<System::IO::Stream> content, bool leaveStreamOpen) Same, with explicit ownership of the stream. When leaveStreamOpen is false, the stream is disposed together with the message.
- System::SharedPtr<MapiAttachment> MapiAttachmentCollection::AddFile(System::String filePath) Adds an attachment reading its content from a file, using the file name as the display name.
- System::SharedPtr<MapiAttachment> MapiAttachmentCollection::AddFile(System::String filePath, System::String displayName) Same, with an explicit display name.
- System::SharedPtr<System::IO::Stream> MapiAttachment::OpenRead() Returns an independent, read-only, seekable stream over the attachment content. Each call returns a separate reader, so several readers can be used at the same time.
- int64_t MapiAttachment::get_ContentLength() The length of the attachment content in bytes, available without reading the content.
- Deferred Attachment Content Loading:
- By default, MapiMessage::Load reads the content of every attachment into memory together with the message. For messages with large attachments this makes the memory required to open a message proportional to the size of its attachments, even when only the headers, the recipients or the attachment names are needed.
- Attachment content can now be left in the source and read on demand.
- New Properties:
- bool MsgLoadOptions::get_DeferAttachmentContent() / void MsgLoadOptions::set_DeferAttachmentContent(bool value) When true, attachment content is read from the source on demand instead of being loaded with the message. The default is false, so existing behavior is unchanged.
- int32_t MsgLoadOptions::get_DeferralThreshold() / void MsgLoadOptions::set_DeferralThreshold(int32_t value) The minimum content size, in bytes, for which deferred loading applies. Attachments smaller than this are always loaded eagerly. The default is 4096.
Aspose.Email for Python via .NET V26.10Major versionOct 30, 2026
Features- Added stream-based attachment API and deferred attachment loading for MSG.
- Added a method to TgzReader to get the quantity of items of different types.
- Added asynchronous methods to TgzReader and made it thread-safe.
Fixes- Some files that are not EML or MHT recognized as MHT.
- Some EMLX files detected as EML.
- MailMessage cannot remove signature of MSG file.
- Space is skipped in extracted body text.
- MapiMessage.Recipients.Add - SMTP address validation bug.
- NullReferenceException in FromMailMessage when loading MAPI MSG file - regression since 26.5.
- MapiTask writes PidLidReminderTime and PidLidReminderSignalTime with a zero value when ReminderSet is false.
- Issue with HTML-to-RTF conversion.
- PST message properties not read.
Aspose.Email for Java V26.9Major versionOct 12, 2026
Features
- Added support for stream-based attachment API and deferred attachment loading for MSG.
- Added a method to TgzReader to get the quantity of items of different types.
- Added asynchronous methods to TgzReader and make it thread-safe.
Fixes
- Some files that are not EML or MHT recognized as MHT.
- Some EMLX files detected as EML.
- MailMessage cannot remove signature of MSG file.
- MapiMessage.Recipients.Add - SMTP address validation bug.
- NullReferenceException in FromMailMessage when loading MAPI MSG file - regression since 26.5.
- MapiTask writes PidLidReminderTime and PidLidReminderSignalTime with a zero value when ReminderSet is false.
- Issue with HTML-to-RTF conversion.
- PST message properties not read.
- Space is skipped in extracted body text.
- MapiMessage.toMailMessage hangs when "Attempted to read past the end of the stream" exception is ignored via ExceptionManager.
Aspose.Email for .NET V26.9Major versionSep 28, 2026
Features
- Added stream-based attachment API and deferred attachment loading for MSG.
- Added a method to TgzReader to get the quantity of items of different types.
- Added asynchronous methods to TgzReader and made it thread-safe.
Fixes
- Some files that are not EML or MHT recognized as MHT.
- Some EMLX files detected as EML.
- MailMessage cannot remove signature of MSG file.
- Space is skipped in extracted body text.
- MapiMessage.Recipients.Add - SMTP address validation bug.
- NullReferenceException in FromMailMessage when loading MAPI MSG file - regression since 26.5.
- MapiTask writes PidLidReminderTime and PidLidReminderSignalTime with a zero value when ReminderSet is false.
- Issue with HTML-to-RTF conversion.
- PST message properties not read.
Aspose.Email for Java V26.8Major versionSep 14, 2026
Fixes
- Issue with HTML-to-RTF conversion.
- MailMessage cannot remove signature of MSG file.
- MapiMessage.Recipients.Add - SMTP address validation bug.
- MSG file reading errors.
- MapiMessage.load() with setLeaveOpen(true) locks file context, causing 0-byte attachments in MailMessage.
- License initialization in DHI hardened container requires "env" command.
- MailMessage.load fails for MSG file (encoding issue).
Aspose.Email for C++ V26.8Major versionSep 7, 2026
Features
- Add methods now return the newly created instance - The Add methods for both recipients and attachments have been updated to return the object they create, allowing immediate access to the new item without a separate lookup. This streamlines code that needs to configure the newly added recipient or attachment right after insertion.
Fixes
- MapiMessage.Recipients.Add - EX address validation too strict.
- MapiRecipientCollection.Add(...) - return newly created instance.
- ArgumentException in MapiMessage.SaveAsTnef when saving EML with TNEF.
- Support IdentificationInfo.Anniversary date field in VcardContact and apply it in VCF 4.0.
- Avoid duplicate X-VCARD-PRODID header when saving contact in version 3 and 4.
- Binary libraries detected as MHT.
- ArgumentNullException (parameter name: address) in 26.5 version at sending MailMessage via Graph client.
Aspose.Email for Python via .NET V26.8Major versionAug 19, 2026
Fixes
- MapiMessage.Recipients.Add - EX address validation too strict.
- MapiRecipientCollection.Add(...) - return newly created instance.
- ArgumentException in MapiMessage.SaveAsTnef when saving EML with TNEF.
- Support IdentificationInfo.Anniversary date field in VcardContact and apply it in VCF 4.0.
- Avoid duplicate X-VCARD-PRODID header when saving contact in version 3 and 4.
- Binary libraries detected as MHT.
- ArgumentNullException (parameter name: address) in 26.5 version at sending MailMessage via Graph client.
Aspose.Email for Java V26.7Major versionAug 8, 2026
Fixes
- NullReferenceException in fromMailMessage when loading MAPI MSG file - regression since 26.5.
- MapiMessage.Recipients.Add - EX address validation too strict.
- MapiRecipientCollection.Add(...) - return newly created instance.
- ArgumentException in MapiMessage.SaveAsTnef when saving EML with TNEF.
- Support IdentificationInfo.Anniversary date field in VcardContact and apply it in VCF 4.0.
- Avoid duplicate X-VCARD-PRODID header when saving contact in version 3 and 4.
- Binary libraries detected as MHT.
- ArgumentNullException (parameter name: address) in 26.5 version at sending MailMessage via Graph client.
Aspose.Email for Java V26.6.0.1Aug 4, 2026
Fixes
- NullReferenceException in fromMailMessage when loading MAPI MSG file - regression since 26.5.
Aspose.Email for .NET V26.7Major versionJul 31, 2026
Fixes
- MapiMessage.Recipients.Add - EX address validation too strict.
- MapiRecipientCollection.Add(...) - return newly created instance.
- ArgumentException in MapiMessage.SaveAsTnef when saving EML with TNEF.
- Support IdentificationInfo.Anniversary date field in VcardContact and apply it in VCF 4.0.
- Avoid duplicate X-VCARD-PRODID header when saving contact in version 3 and 4.
- Binary libraries detected as MHT.
- ArgumentNullException (parameter name: address) in 26.5 version at sending MailMessage via Graph client.
Aspose.Email for C++ V26.7Major versionJul 31, 2026
Features
- Added the ProductIdentifier field for Contacts and Appointments.
Fixes
- MapiMessageItemBase.SetProperty produces wrong property for multiple values.
- Performance regression for EML files (introduced in 23.3) in FileFormatUtil.DetectFileFormat.
- Aspose.Email recognized some regular attachments as linked resources.
- iCalendar read error.
- VCardPhotoType.PNG does not exist.
- Error moving emails between folders using Microsoft Graph.
Aspose.Email for Python via .NET V26.7Major versionJul 30, 2026
Features
- Added the ProductIdentifier field for Contacts and Appointments.
Fixes
- MapiMessageItemBase.SetProperty produces wrong property for multiple values.
- Performance regression for EML files (introduced in 23.3) in FileFormatUtil.DetectFileFormat.
- Aspose.Email recognized some regular attachments as linked resources.
- iCalendar read error.
- VCardPhotoType.PNG does not exist.
- Error moving emails between folders using Microsoft Graph.
Aspose.Email for Java V26.6Major versionJul 19, 2026
Features
- Added ProductIdentifier field support for Contact and Appointment.
Fixes
- MapiMessageItemBase.SetProperty produces wrong property for multiple values.
- Performance regression for EML files (introduced in 23.3) in FileFormatUtil.DetectFileFormat.
- Aspose.Email recognized some regular attachments as linked resources.
- iCalendar read error.
- VCardPhotoType.PNG does not exist.
- Error moving emails between folders using Microsoft Graph.
Aspose.Email for C++ V26.6Major versionJul 1, 2026
Features
- Implemented a method for building a TGZ backup archive from EML files.
- Throttling support has been added to IGraphClient for Microsoft Graph.
- Added support for uploading large messages via Graph Upload Session in IGraphClient.
Fixes
- MSG to PDF - Throws System.FormatException.
- Null ref exception when saving VCF.
Aspose.Email for .NET V26.6Major versionJun 30, 2026
Features
- Added the ProductIdentifier field for Contacts and Appointments.
Fixes
- MapiMessageItemBase.SetProperty produces wrong property for multiple values.
- Performance regression for EML files (introduced in 23.3) in FileFormatUtil.DetectFileFormat.
- Aspose.Email recognized some regular attachments as linked resources.
- iCalendar read error.
- VCardPhotoType.PNG does not exist.
- Error moving emails between folders using Microsoft Graph.
Aspose.Email for Python via .NET V26.6Major versionJun 28, 2026
Features
- Implemented a method for building a TGZ backup archive from EML files.
- Throttling support has been added to IGraphClient for Microsoft Graph.
- Added support for uploading large messages via Graph Upload Session in IGraphClient.
Fixes
- MSG to PDF - Throws System.FormatException.
- Null ref exception when saving VCF.
Aspose.Email for Java V26.5Major versionJun 11, 2026
Features
- Implemented a method for building a TGZ backup archive from EML files.
- Implemented the handling of Throttling for Microsoft Graph in IGraphClient.
- Implementd large message upload via Graph upload session in IGraphClient.
Fixes
- MSG to PDF - Throws System.FormatException.
- Null ref exception when saving VCF.
Aspose.Email for .NET V26.5Major versionMay 31, 2026
Features
- Implemented a method for building a TGZ backup archive from EML files.
- Throttling support has been added to IGraphClient for Microsoft Graph.
- Added support for uploading large messages via Graph Upload Session in IGraphClient.
Fixes
- MSG to PDF - Throws System.FormatException.
- Null ref exception when saving VCF.
Aspose.Email for C++ V26.5Major versionMay 26, 2026
Features
- Added support for the correct creation and deletion of Calendars and Calendar List entities depending on the DataOwner field for the Google client.
Fixes
- Issue with FindAndEnumerateSoftDeletedItems(): IEnumerable iteration breaks after exception in GetFolderById().
- Unable to parse valid RULE.
- Corrupt MSG causes OutOfMemoryError.
Aspose.Email for Python via .NET V26.5Major versionMay 18, 2026
Features
- Added support for the correct creation and deletion of Calendars and Calendar List entities depending on the DataOwner field for the Google client.
Fixes
- Issue with FindAndEnumerateSoftDeletedItems(): IEnumerable iteration breaks after exception in GetFolderById().
- Unable to parse valid RULE.
- Corrupt MSG causes OutOfMemoryError.
Aspose.Email for Java V26.4Major versionMay 10, 2026
Fixes
- Exception when adding MapiContact to Deleted Items folder in PST.
- Issue with FindAndEnumerateSoftDeletedItems() - IEnumerable iteration breaks after exception in GetFolderById().
- Unable to parse valid RRULE.
- Corrupt MSG causes OutOfMemoryError.
Aspose.Email Product Family UpdateMay 1, 2026
Aspose.Email for .NET V26.4Major versionApr 30, 2026
Features
- Added support for the correct creation and deletion of Calendars and Calendar List entities depending on the DataOwner field for the Google client.
Fixes
- Exception when adding MapiContact to Deleted Items folder in PST using Aspose.Email .NET.
- Issue with FindAndEnumerateSoftDeletedItems(): IEnumerable iteration breaks after exception in GetFolderById().
- Unable to parse valid RRULE.
- Corrupt MSG causes OutOfMemoryError.
Aspose.Email for Python via .NET V26.4Major versionApr 22, 2026
Features
- Added support for X-MICROSOFT headers when loading and saving appointments in ICS format.
- Added support the 'dataOwner' field and related methods for Calendar in Aspose Google client.
Fixes
- Aspose email does not read multi-line header.
- The Subject property of the 'MapiMessage' object returns null after being set to an empty string.
- Japanese MS932 charset causes text corruption when importing RFC-822 emails to PST.
- Unicode (Chinese) attachment filenames are corrupted when sending via Graph API.
- Exception when converting ICS file to MSG format.
- MSG file properties and transport message headers change after open/save.
Aspose.Email for C++ V26.4Major versionApr 21, 2026
Features
- Added support for X-MICROSOFT headers when loading and saving appointments in ICS format.
- Added support the 'dataOwner' field and related methods for Calendar in Aspose Google client.
Fixes
- Aspose email does not read multi-line header.
- The Subject property of the 'MapiMessage' object returns null after being set to an empty string.
- Japanese MS932 charset causes text corruption when importing RFC-822 emails to PST.
- Unicode (Chinese) attachment filenames are corrupted when sending via Graph API.
- Exception when converting ICS file to MSG format.
- MSG file properties and transport message headers change after open/save.
Aspose.Email for C++ V26.2Major versionApr 10, 2026
Features
- Implemented icon operations.
Aspose.Email for Python via .NET V26.2Major versionApr 10, 2026
Features
- Implemented icon operations.
Aspose.Email for Java V26.3Major versionApr 8, 2026
Features
- Added support for X-MICROSOFT headers when loading and saving appointments in ICS format.
- Added support for 'dataOwner' field and related Calendar methods in Aspose Google client.
Fixes
- Aspose email does not read multi-line header.
- The Subject property of a 'MapiMessage' object returns null after being set to an empty string.
- Unicode (Chinese) attachment file names are corrupted when sending via Graph API.
- Exception when converting ICS file to MSG format.
- MSG file properties and transport message headers change after open/save.
- License parsing error (Invalid Character in Encoding).
- MSG file reading errors.
- Recurring calendar events with exceptions incorrectly handled when exporting/importing PST.
- Fatal 'UriFormatException' on corrupt attachment.
- Japanese MS932 charset causes text corruption when importing RFC-822 emails to PST.
Aspose.Email Product Family UpdateApr 1, 2026
Aspose.Email for .NET V26.3Major versionMar 28, 2026
Features
- Added support for X-MICROSOFT headers when loading and saving appointments in ICS format.
- Added support the 'dataOwner' field and related methods for Calendar in Aspose Google client.
Fixes
- Aspose email does not read multi-line header.
- The Subject property of the 'MapiMessage' object returns null after being set to an empty string.
- Japanese MS932 charset causes text corruption when importing RFC-822 emails to PST.
- Unicode (Chinese) attachment filenames are corrupted when sending via Graph API.
- Exception when converting ICS file to MSG format.
- MSG file properties and transport message headers change after open/save.
Aspose.Email Product Family UpdateMar 2, 2026
Aspose.Email for Java V26.1Major versionFeb 4, 2026
Features
- Added the DKIM.Verify method for MailMessage verification.
Fixes
- FindAndExtractSoftDeletedItems method not detecting deleted messages in OST files.
- MSG to EML CSS conversion of !important tag.
- FormatException - The string contains invalid characters. (fromBase64String issue).
- Aspose.Email for Java (version 25.9-jdk16) does not read multi-line header.
- Aspose.Email 25.12 fails to load license in container.
Aspose.Email Product Family UpdateFeb 3, 2026
Aspose.Email for .NET V26.1Major versionJan 31, 2026
Features
- Added asynchronous methods to Aspose Google client.
Fixes
- FindAndExtractSoftDeletedItems method not detecting deleted messages in OST files.
- MSG to EML CSS conversion of !important tag.
Aspose.Email for Python via .NET V25.12Major versionJan 26, 2026
Features
- Implemented batch update support for message read/unread flags in PST.
- Added support for saving MapiContact contacts to vCard 3.0 and vCard 4.0.
- Improved extracting Tasks from .tgz files.
- Added Aspose.Email.DKIM.Verify method for MailMessage verification.
Fixes
- ContentId no longer auto-generated for MHT AlternateViews/Attachments since 25.7.
- FormatException when decoding malformed Base64 subject header containing misplaced period in encoded-word.
Aspose.Email for C++ V25.12Major versionJan 26, 2026
Features
- Implemented batch update support for message read/unread flags in PST.
- Added support for saving MapiContact contacts to vCard 3.0 and vCard 4.0.
- Improved extracting Tasks from .tgz files.
- Added Aspose.Email.DKIM.Verify method for MailMessage verification.
Fixes
- ContentId no longer auto-generated for MHT AlternateViews/Attachments since 25.7.
- FormatException when decoding malformed Base64 subject header containing misplaced period in encoded-word.
Aspose.Email Product Family UpdateJan 6, 2026
Aspose.Email for Java V25.12Major versionJan 2, 2026
Features
- Implemented batch update support for message read/unread flags in PST.
- Added support for saving MapiContact contacts to vCard 3.0 and vCard 4.0.
- Improved extracting Tasks from .tgz files.
- S/MIME Encryption: Improved encrypting a MailMessage for multiple recipients.
Fixes
- ContentId no longer auto-generated for MHT AlternateViews/Attachments since 25.7.
- FormatException when decoding malformed Base64 subject header containing misplaced period in encoded-word.
- MSG to EML CSS conversion of !important tag.
- EWS: Error when trying to create appointment.