Browse our Products

Aspose.Email for Java 19.11 Release Notes

All Changes

KeySummaryCategory
EMAILNET-39614Custom ordering of information in MHTMLEnhancement
EMAILNET-39629PST password validation functionality not workingEnhancement
EMAILJAVA-34615EML is not converted properlyBug
EMAILNET-39626IMAP exception on getting messages list if there are no emails in the serverBug
EMAILNET-39632Aspose.Email conversion FailureBug
EMAILNET-39633Email Conversion Not working For Delivery NotificationsBug
EMAILNET-39634Recipient email is not getting changed using Aspose.EmailBug
EMAILNET-39636RTF body not showing in generated PDFBug
EMAILJAVA-34616MapiCalendar Recurrence Exception without bodyBug
EMAILNET-39615Set sender email address using MapiMessage in outlookBug
EMAILNET-39609The email subject is read as a numberBug
EMAILNET-39624Envelop issue with EML file conversionBug
EMAILNET-39640New line added on HtmlBodyTextBug
EMAILNET-39656Attachment missing on iOS mail app(iPhone/iPad)Bug
EMAILJAVA-34619MSG to PDF never endsBug
EMAILNET-39658Aspose Email performance issueBug
EMAILNET-39630The property PR_EMAIL_ADDRESS_W returns unexpected outputBug
EMAILNET-39642NullReferenceException while looping through storage.FolderHierarchyBug
EMAILJAVA-34624Aspose license checks slow to perform  Bug

Custom ordering of information in MHTML

New property: MhtSaveOptions.getRenderingHeaders Gets a list of headers for rendering. The order of headers rendering will correspond to the order of adding headers to the collection.

Code samples

  • Renders headers in the order specified by default

 String fileName = "test.eml";

MailMessage eml = MailMessage.load(fileName);

MhtSaveOptions opt = SaveOptions.getDefaultMhtml();

eml.save("test1.mhtml", opt);
  • Renders headers in the following order:
    • From
    • Subject
    • To
    • Sent

 String fileName = "test.eml";

MailMessage eml = MailMessage.load(fileName);

MhtSaveOptions opt = SaveOptions.getDefaultMhtml();

opt.getRenderingHeaders().add(MhtTemplateName.FROM);

opt.getRenderingHeaders().add(MhtTemplateName.SUBJECT);

opt.getRenderingHeaders().add(MhtTemplateName.TO);

opt.getRenderingHeaders().add(MhtTemplateName.SENT);

eml.save("test2.mhtml", opt);
  • Renders headers in the following order:
    • Attachments
    • Cc
    • Subject

 String fileName = "test.eml";

MailMessage eml = MailMessage.load(fileName);

MhtSaveOptions opt = SaveOptions.getDefaultMhtml();

opt.getRenderingHeaders().clear();

opt.getRenderingHeaders().add(MhtTemplateName.ATTACHMENTS);

opt.getRenderingHeaders().add(MhtTemplateName.CC);

opt.getRenderingHeaders().add(MhtTemplateName.SUBJECT);

eml.save("test3.mhtml", opt);

PST password validation functionality

New property: MessageStore.isPasswordProtected Gets a value indicating whether the storage is password protected.

New method: MessageStore.isPasswordValid(String) Determines whether the specified string is a valid password for the storage.

Code samples


 PersonalStorage pst = PersonalStorage.fromFile("NewPST.pst");

System.out.println("The storage is password protected - " + pst.getStore().isPasswordProtected());

 PersonalStorage pst = PersonalStorage.fromFile("NewPST.pst");

System.out.println("Password is valid - " + pst.getStore().isPasswordValid("test123"));

Other

New field MapiPropertyTag.PR_SMTP_ADDRESS New field MapiPropertyTag.PR_SMTP_ADDRESS_W