Browse our Products

Aspose.Email for Java 23.6 Release Notes

All Changes

KeySummaryCategory
EMAILNET-40801Improvement in CheckSignature methodFeature
EMAILNET-41086Email address is not valid when loading a task item (MapiTask.fromVTodo)Enhancement
EMAILNET-41070Signature preserving is not supported by defaultEnhancement
EMAILNET-41034Aspose.Email.MapiMessage.load method throws error while loading some emailsBug
EMAILNET-41093Some fields are empty when save vcardBug
EMAILNET-41059TnefLoadOptions.PreserveEmbeddedMessageFormat = True is not honoredBug
EMAILNET-41043NullReferenceException when using SaveAllHeaders and RenderTaskFieldsBug
EMAILNET-41085Not able to convert MapiMessage to MapiTaskBug
EMAILNET-41082VCardContact nickname not written to vcfBug
EMAILNET-41089GraphClient does not send attachement of mailBug
EMAILNET-41096When license is set - mht is saved incorrectlyBug
EMAILNET-41081How to set Followup flag to MapiContact, MapiTask and MapiJournal while creating PSTBug
EMAILNET-40942MailMessage.CheckSignature IssueBug
EMAILNET-41025Encrypted and signed emails are not converted correctly from Mbox to PstBug
EMAILNET-41063Appointment.Save exceptionBug
EMAILJAVA-35186ArgumentException: Culture ID: 15369/8192 is not a supported cultureBug

New Features

Signature Preservation and Removal

  1. Signature preservation is now supported by default in mbox to pst conversion. Added a new MboxToPstConversionOptions.RemoveSignature property, to indicate whether the signature should be removed during conversion. You can set this property to true to remove the signature.

    Public API changes:

    • Added MboxToPstConversionOptions.RemoveSignature property.

    Example usage:

    MboxToPstConversionOptions mboxConversionOptions = new MboxToPstConversionOptions();
    mboxConversionOptions.setRemoveSignature(true);
    PersonalStorage personalStorage = PersonalStorage.create("sample.pst", FileFormatVersion.Unicode);
    MailStorageConverter.mboxToPst(new MboxrdStorageReader("sample.mbox", new MboxLoadOptions()),
        personalStorage, "Inbox", mboxConversionOptions);
    
  2. Signature preservation is now supported by default when loading EML files. Added a new LoadOptions.RemoveSignature property, to indicate whether the signature should be removed during loading. You can set this property to true to remove the signature.

    Public API changes:

    • Added LoadOptions.RemoveSignature property.

    Example usage:

    EmlLoadOptions emlLoadOptions = new EmlLoadOptions();
    emlLoadOptions.setRemoveSignature(true);
    MapiMessage msg = MapiMessage.load(fileName, emlLoadOptions);
    

API Enhancement: Secure Email Signature Checking

  • Added a new SecureEmailManager class for checking the signature of secure emails. You can now check the signature of MapiMessage and MailMessage objects.
  • Added a new SmimeResult class to store the results of checking secure emails.

Public API changes:

  • Added SecureEmailManager.checkSignature(MapiMessage msg) method.
  • Added SecureEmailManager.checkSignature(MapiMessage msg, X509Certificate2 certificateForDecrypt) method.
  • Added SecureEmailManager.checkSignature(MapiMessage msg, X509Certificate2 certificateForDecrypt, X509Store store) method.
  • Added SecureEmailManager.checkSignature(MailMessage msg) method.
  • Added SecureEmailManager.checkSignature(MailMessage msg, X509Certificate2 certificateForDecrypt) method.
  • Added SecureEmailManager.checkSignature(MailMessage msg, X509Certificate2 certificateForDecrypt, X509Store store) method.

Example usage:

MailMessage eml = MailMessage.load(fileName);
SmimeResult result = new SecureEmailManager().checkSignature(eml);
MapiMessage msg = MapiMessage.load(fileName, new EmlLoadOptions());
SmimeResult result = new SecureEmailManager().checkSignature(msg);
String certFileName = "cert.pfx";
X509Certificate2 cert = new X509Certificate2(certFileName, "pass");
MailMessage eml = MailMessage.load(fileName);
X509Store store = new X509Store();
store.open(1);
store.add(cert);
store.close();

SmimeResult result = new SecureEmailManager().checkSignature(eml, cert, store);