Browse our Products

Aspose.Email for Java 25.8 Release Notes

All Changes

KeySummaryCategory
EMAILNET-41553Support query parameters for Aspose.Email Graph clientFeature
EMAILNET-41615Add ExchangeAddress property to MailAddress to store address in exchange formatEnhancement
EMAILNET-41617When converting an MSG file to PDF, Sent Date appears twiceEnhancement
EMAILNET-41603Support for multiple header fields with same nameEnhancement
EMAILJAVA-35399Add MailAddress.toX500String() methodEnhancement

New Enhancements

Support for X.500 Exchange Addresses in MailAddress

  • Added a new X500Address property to the MailAddress class.
  • This property provides access to the email address in Exchange (X.500) format, if available.

Code example:

MailMessage mailMessage = MailMessage.load(fileName);
String exaddr = mailMessage.getFrom().getX500Address();

Enhanced Microsoft Graph Queries with OData Support

  • Introduced the new ODataQueryBuilder class to construct OData query parameters supported by Microsoft Graph.
  • Extended multiple GraphClient methods (listFolders, listMessages, listContacts, listCalendarItems, listAttachments, listCategories, listOverrides, listRules, listTaskLists, listTasks, listNotebooks) with an optional ODataQueryBuilder parameter for advanced filtering, ordering, selection, and paging.

Code sample:

IGraphClient client = GraphClient.GetClient();

client.setResource(ResourceType.Users);
client.setResourceId(username);
client.setEndpoint("https://graph.microsoft.com");

ODataQueryBuilder builder = new ODataQueryBuilder();
builder.setOrderBy("name asc");
GraphFolderInfoCollection folders = client.listFolders(builder);
for (GraphFolderInfo folder : folders) {
    System.out.println(folder.getDisplayName());
}

String folderId = folders.get(0).getItemId();

builder = new ODataQueryBuilder();
{
    builder.setFilter("startswith(name,'A')");
    builder.setOrderBy("name asc");
    builder.setTop(10);
    builder.setSkip(5);
    builder.setSelect(new String[]{"name", "age"});
    builder.setExpand(new String[]{"children", "parents"});
    builder.setCount(true);
    builder.setSearch("\"John Doe\"");
    builder.setFormat("json");
}
;

GraphMessageInfoCollection msgs = client.listMessages(folderId, builder);
for (GraphMessageInfo msg : msgs) {
    System.out.println(msg.getSubject());
}