diff --git a/src/java/davmail/exchange/dav/DavExchangeSession.java b/src/java/davmail/exchange/dav/DavExchangeSession.java index e3a2fe5a..b624e02c 100644 --- a/src/java/davmail/exchange/dav/DavExchangeSession.java +++ b/src/java/davmail/exchange/dav/DavExchangeSession.java @@ -2166,6 +2166,7 @@ public class DavExchangeSession extends ExchangeSession { searchRequest.append(" WHERE "); condition.appendTo(searchRequest); } + searchRequest.append(" ORDER BY ").append(Field.getRequestPropertyString("imapUid")).append(" DESC"); DavGatewayTray.debug(new BundleMessage("LOG_SEARCH_QUERY", searchRequest)); MultiStatusResponse[] responses = DavGatewayHttpClientFacade.executeSearchMethod( httpClient, encodeAndFixUrl(folderUrl), searchRequest.toString(), maxCount); diff --git a/src/java/davmail/exchange/ews/EwsExchangeSession.java b/src/java/davmail/exchange/ews/EwsExchangeSession.java index 2ffafa4c..53bf19d6 100644 --- a/src/java/davmail/exchange/ews/EwsExchangeSession.java +++ b/src/java/davmail/exchange/ews/EwsExchangeSession.java @@ -695,6 +695,7 @@ public class EwsExchangeSession extends ExchangeSession { if (condition != null && !condition.isEmpty()) { findItemMethod.setSearchExpression((SearchExpression) condition); } + findItemMethod.setFieldOrder(new FieldOrder(Field.get("imapUid"), FieldOrder.Order.Descending)); executeMethod(findItemMethod); results.addAll(findItemMethod.getResponseItems()); offset = results.size();