diff --git a/src/java/davmail/exchange/dav/DavExchangeSession.java b/src/java/davmail/exchange/dav/DavExchangeSession.java index 259b327e..b0a29e0a 100644 --- a/src/java/davmail/exchange/dav/DavExchangeSession.java +++ b/src/java/davmail/exchange/dav/DavExchangeSession.java @@ -1085,6 +1085,11 @@ public class DavExchangeSession extends ExchangeSession { try { String messageHeaders = getItemProperty(permanentUrl, "messageheaders"); if (messageHeaders != null) { + // workaround for messages in Sent folder + if (messageHeaders.indexOf("From:") < 0) { + String from = getItemProperty(permanentUrl, "from"); + messageHeaders = "From: "+from+"\n"+messageHeaders; + } result = new ByteArrayInputStream(messageHeaders.getBytes("UTF-8")); } } catch (Exception e) { diff --git a/src/java/davmail/exchange/ews/EwsExchangeSession.java b/src/java/davmail/exchange/ews/EwsExchangeSession.java index bbc03ad4..18bad297 100644 --- a/src/java/davmail/exchange/ews/EwsExchangeSession.java +++ b/src/java/davmail/exchange/ews/EwsExchangeSession.java @@ -372,11 +372,18 @@ public class EwsExchangeSession extends ExchangeSession { try { GetItemMethod getItemMethod = new GetItemMethod(BaseShape.ID_ONLY, itemId, false); getItemMethod.addAdditionalProperty(Field.get("messageheaders")); + getItemMethod.addAdditionalProperty(Field.get("from")); executeMethod(getItemMethod); EWSMethod.Item item = getItemMethod.getResponseItem(); String messageHeaders = item.get(Field.get("messageheaders").getResponseName()); if (messageHeaders != null) { + // workaround for messages in Sent folder + if (messageHeaders.indexOf("From:") < 0) { + String from = item.get(Field.get("from").getResponseName()); + messageHeaders = "From: "+from+"\n"+messageHeaders; + } + result = new ByteArrayInputStream(messageHeaders.getBytes("UTF-8")); } } catch (Exception e) {