Aspose.Email for Android via Java 20.1 Release Notes

KeySummaryCategory
EMAILNET-39614Custom ordering of information in MHTMLEnhancement
EMAILNET-39629PST password validation functionality not workingEnhancement
EMAILNET-39670Aspose Email performance issue while getting mapi properties.Enhancement
EMAILNET-39680Mhtml format difference between 19.10 and 19.11Enhancement
EMAILNET-39609Email subject is read as numberBug
EMAILNET-39615Set sender email address using mapimessage in outlookBug
EMAILNET-39622No attendees found in .icsBug
EMAILNET-39624Envelop issue with eml file conversionBug
EMAILNET-39630The property PR_EMAIL_ADDRESS_W returns unexpected outputBug
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
EMAILNET-39640New line added on HtmlBodyTextBug
EMAILNET-39642The code throws NullReferenceException on the line foreach (OlmFolder folder in storage.FolderHierarchy)Bug
EMAILNET-39656Attachment missing on iOS mail app(iPhone/iPad)Bug
EMAILNET-39658Aspose Email performance issueBug
EMAILNET-39661Attachments missing in converted emailsBug
EMAILNET-39662Exception on converting MSG fileBug
EMAILNET-39664Smiley character replaced with character codeBug
EMAILNET-39672Different attachment name extracted from eml fileBug
EMAILNET-39694EML to MSG reults in 0KB fileBug
EMAILNET-39699Messages extracted from PST corruptedBug
EMAILJAVA-34609Time stamps in generated EML file different form Original Msg FileBug
EMAILJAVA-34615Eml is not converted properlyBug
EMAILJAVA-34616MapiCalendar Recurrence Exception without bodyBug
EMAILJAVA-34619MSG to PDF never endsBug
EMAILJAVA-34624Aspose license checks slow to perform      Bug
EMAILJAVA-34631MailMessage.CheckSignature validating certificateBug
EMAILJAVA-34632Regression in reading Email      Bug
EMAILJAVA-34639ArgumentException while parsing bodyBug
EMAILJAVA-34640NotSupportedException while parsing the BodyBug
EMAILJAVA-34647From field is improperly rendered in saved MSGBug
EMAILJAVA-34649MapiPropertyContainer cannot be cast to MapiMessageBug

Custom ordering of information in MHTML

Property: MhtSaveOptions.getRenderingHeaders Gets 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("test.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("test.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("test.mhtml", opt);


PST password validation functionality

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

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

Code samples


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

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


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

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

Added APIs

Class    INamedPropertyTagProvider

Method    AsposeArgumentException.#ctor(String,String) Method    AsposeArgumentOutOfRangeException.#ctor(String,int) Method    AsposeException.#ctor(String,String) Method    AsposeInvalidOperationException.#ctor(String,String) Method    INamedPropertyTagProvider.generateNamedPropertyTag(long) Method    INamedPropertyTagProvider.getTagFromNamedProperty(long) Method    INamedPropertyTagProvider.getTagFromNamedProperty(String) Method    MapiAttachment.getProperty(PropertyDescriptor) Method    MapiMessageItemBase.getProperty(PropertyDescriptor) Method    MapiNamedProperty.#ctor(INamedPropertyTagProvider,PidLidPropertyDescriptor,Object) Method    MapiNamedProperty.#ctor(INamedPropertyTagProvider,PidNamePropertyDescriptor,Object) Method    MapiProperty.#ctor(PidLidPropertyDescriptor,Object) Method    MapiProperty.#ctor(PidTagPropertyDescriptor,Object) Method    MapiPropertyCollection.add(MapiProperty) Method    MapiPropertyCollection.getProperty(PropertyDescriptor) Method    MapiPropertyCollection.setProperty(PropertyDescriptor,Object) Method    MapiPropertyContainer.getProperty(PropertyDescriptor) Method    MapiPropertyContainer.setProperty(PropertyDescriptor,Object) Method    MessageStore.isPasswordValid(String)

Property    KnownPropertyList.getValues Property    MapiMessageItemBase.getItemId Property    MessageInfoBase.getDate Property    MessageStore.isPasswordProtected Property    MessageInfoBase.getMessageId Property    MessageInfoBase.getProperties Property    MessageInfoBase.getReplyTo Property    MhtSaveOptions.getRenderingHeaders Property    PropertyDescriptor.getMultipleValuesDataType

Field/Enum    MapiPropertyTag.PR_SMTP_ADDRESS Field/Enum    MapiPropertyTag.PR_SMTP_ADDRESS_W

Deleted APIs

Method    PropertyDescriptor.equals(Object)