diff --git a/src/java/davmail/exchange/ews/EwsExchangeSession.java b/src/java/davmail/exchange/ews/EwsExchangeSession.java index 7cc4be12..4b7dc2a9 100644 --- a/src/java/davmail/exchange/ews/EwsExchangeSession.java +++ b/src/java/davmail/exchange/ews/EwsExchangeSession.java @@ -181,9 +181,9 @@ public class EwsExchangeSession extends ExchangeSession { if (bcc != null) { ItemId itemId = new ItemId(createItemMethod.getResponseItem().get("ItemId"), createItemMethod.getResponseItem().get("ChangeKey")); - properties.put("bcc", bcc); - properties.remove("draft"); - UpdateItemMethod updateItemMethod = new UpdateItemMethod(MessageDisposition.SaveOnly, ConflictResolution.AlwaysOverwrite, itemId, buildProperties(properties)); + HashMap localProperties = new HashMap(); + localProperties.put("bcc", bcc); + UpdateItemMethod updateItemMethod = new UpdateItemMethod(MessageDisposition.SaveOnly, ConflictResolution.AlwaysOverwrite, itemId, buildProperties(localProperties)); executeMethod(updateItemMethod); } diff --git a/src/test/davmail/exchange/TestExchangeSessionMessageFlags.java b/src/test/davmail/exchange/TestExchangeSessionMessageFlags.java index 885a5fc5..026a7eab 100644 --- a/src/test/davmail/exchange/TestExchangeSessionMessageFlags.java +++ b/src/test/davmail/exchange/TestExchangeSessionMessageFlags.java @@ -24,6 +24,9 @@ import org.apache.log4j.Level; import javax.mail.MessagingException; import javax.mail.internet.MimeMessage; import java.io.IOException; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; import java.util.HashMap; import java.util.UUID; @@ -96,4 +99,22 @@ public class TestExchangeSessionMessageFlags extends AbstractExchangeSessionTest assertEquals(1, messageList.size()); } + public void testCreateDateReceivedMessage() throws MessagingException, IOException { + MimeMessage mimeMessage = createMimeMessage(); + String messageName = UUID.randomUUID().toString(); + HashMap properties = new HashMap(); + SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); + dateFormatter.setTimeZone(ExchangeSession.GMT_TIMEZONE); + Calendar cal = Calendar.getInstance(); + cal.add(Calendar.MONTH, -1); + properties.put("datereceived", dateFormatter.format(cal.getTime())); + session.createMessage("testfolder", messageName, properties, getMimeBody(mimeMessage)); + ExchangeSession.MessageList messageList = session.searchMessages("testfolder"); + assertNotNull(messageList); + assertEquals(1, messageList.size()); + assertNotNull(messageList); + assertEquals(properties.get("datereceived"), messageList.get(0).date); + } + + }