Aspose.Email for .NET 19.11 Release Notes

All Changes

KeySummaryCategory
EMAILNET-39614Custom ordering of information in MHTMLEnhancement
EMAILNET-39629PST password validation functionality not workingEnhancement
EMAILNET-39583Aspose.Email TLS connection issues over IMAP connectionEnhancement
EMAILNET-39645EML is not converted properlyBug
EMAILNET-39626IMAP exception on getting messages list if there are no emails on 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
EMAILNET-39652MapiCalendar 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
EMAILNET-39657MSG to PDF conversion never endsBug
EMAILNET-39658Aspose Email performance issueBug
EMAILNET-39630The property PR_EMAIL_ADDRESS_W returns unexpected outputBug
EMAILNET-39642NullReferenceException while looping through storage.FolderHierarchyBug

Using IMAP/TLS with self-signed certificates

New property: Aspose.Email.Clients.EmailClient.ClientCertificates Gets the collection of certificates using in TLS connection.

Custom ordering of information in MHTML

New property: Aspose.Email.MhtSaveOptions.RenderingHeaders 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

 var fileName = @"test.eml";

MailMessage eml = MailMessage.Load(fileName);

MhtSaveOptions opt = SaveOptions.DefaultMhtml;

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

 var fileName = @"test.eml";

MailMessage eml = MailMessage.Load(fileName);

MhtSaveOptions opt = SaveOptions.DefaultMhtml;

opt.RenderingHeaders.Add(MhtTemplateName.From);

opt.RenderingHeaders.Add(MhtTemplateName.Subject);

opt.RenderingHeaders.Add(MhtTemplateName.To);

opt.RenderingHeaders.Add(MhtTemplateName.Sent);

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

 var fileName = @"test.eml";

MailMessage eml = MailMessage.Load(fileName);

MhtSaveOptions opt = SaveOptions.DefaultMhtml;

opt.RenderingHeaders.Clear();

opt.RenderingHeaders.Add(MhtTemplateName.Attachments);

opt.RenderingHeaders.Add(MhtTemplateName.Cc);

opt.RenderingHeaders.Add(MhtTemplateName.Subject);

eml.Save(@"test3.mhtml", opt);

PST password validation functionality

New property: Aspose.Email.Storage.Pst.MessageStore.IsPasswordProtected Gets a value indicating whether the storage is password protected.

New method: Aspose.Email.Storage.Pst.MessageStore.IsPasswordValid(System.String) Determines whether the specified string is a valid password for the storage.

Code samples


 PersonalStorage pst = PersonalStorage.FromFile(@"NewPST.pst");

Console.WriteLine("The storage is password protected - " + pst.Store.IsPasswordProtected);

 PersonalStorage pst = PersonalStorage.FromFile(@"NewPST.pst");

Console.WriteLine("Password is valid - " + pst.Store.IsPasswordValid("test123"));

Other

New field Aspose.Email.Mapi.MapiPropertyTag.PR_SMTP_ADDRESS New field Aspose.Email.Mapi.MapiPropertyTag.PR_SMTP_ADDRESS_W