From 1122214601d82ad2b2b07563d726850beacc16e7 Mon Sep 17 00:00:00 2001 From: mguessan Date: Thu, 6 Sep 2012 22:20:12 +0000 Subject: [PATCH] IMAP: workaround for broken message headers on Exchange 2010 git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@2014 3d1905a2-6b24-0410-a738-b14d5a86fcbd --- src/java/davmail/exchange/ews/EwsExchangeSession.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/java/davmail/exchange/ews/EwsExchangeSession.java b/src/java/davmail/exchange/ews/EwsExchangeSession.java index e5c91819..41b25f3e 100644 --- a/src/java/davmail/exchange/ews/EwsExchangeSession.java +++ b/src/java/davmail/exchange/ews/EwsExchangeSession.java @@ -377,11 +377,13 @@ public class EwsExchangeSession extends ExchangeSession { EWSMethod.Item item = getItemMethod.getResponseItem(); String messageHeaders = item.get(Field.get("messageheaders").getResponseName()); - if (messageHeaders != null) { + if (messageHeaders != null + // workaround for broken message headers on Exchange 2010 + && messageHeaders.toLowerCase().contains("message-id:")) { // workaround for messages in Sent folder if (messageHeaders.indexOf("From:") < 0) { String from = item.get(Field.get("from").getResponseName()); - messageHeaders = "From: "+from+"\n"+messageHeaders; + messageHeaders = "From: " + from + "\n" + messageHeaders; } result = new ByteArrayInputStream(messageHeaders.getBytes("UTF-8")); @@ -541,7 +543,7 @@ public class EwsExchangeSession extends ExchangeSession { LOGGER.warn("GetItem with MimeContent failed: " + e.getMessage()); } if (getItemMethod.getStatusCode() == HttpStatus.SC_NOT_FOUND) { - throw new HttpNotFoundException("Item "+itemId+" not found"); + throw new HttpNotFoundException("Item " + itemId + " not found"); } if (mimeContent == null) { LOGGER.warn("MimeContent not available, trying to rebuild from properties");