mirror of
https://github.com/moparisthebest/davmail
synced 2025-02-28 09:21:49 -05:00
IMAP: handle optional datereceived parameter on append
git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@334 3d1905a2-6b24-0410-a738-b14d5a86fcbd
This commit is contained in:
parent
ab63b284dd
commit
d7845a25aa
@ -34,7 +34,7 @@ import java.util.*;
|
||||
public class ExchangeSession {
|
||||
protected static final Logger LOGGER = Logger.getLogger("davmail.exchange.ExchangeSession");
|
||||
|
||||
protected static final SimpleTimeZone GMT_TIMEZONE = new SimpleTimeZone(0, "GMT");
|
||||
public static final SimpleTimeZone GMT_TIMEZONE = new SimpleTimeZone(0, "GMT");
|
||||
|
||||
/**
|
||||
* exchange message properties needed to rebuild mime message
|
||||
@ -116,6 +116,7 @@ public class ExchangeSession {
|
||||
// SimpleDateFormat are not thread safe, need to create one instance for
|
||||
// each session
|
||||
dateFormatter = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
|
||||
dateFormatter.setTimeZone(GMT_TIMEZONE);
|
||||
|
||||
dateParser = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
|
||||
dateParser.setTimeZone(GMT_TIMEZONE);
|
||||
@ -597,6 +598,8 @@ public class ExchangeSession {
|
||||
patchMethod.addPropertyToSet("x0E070003", entry.getValue(), "f", "http://schemas.microsoft.com/mapi/proptag/");
|
||||
} else if ("deleted".equals(entry.getKey())) {
|
||||
patchMethod.addPropertyToSet("isdeleted", entry.getValue(), "d", "DAV:");
|
||||
} else if ("datereceived".equals(entry.getKey())) {
|
||||
patchMethod.addPropertyToSet("datereceived", entry.getValue(), "e", "urn:schemas:httpmail:");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -16,6 +16,7 @@ import java.net.Socket;
|
||||
import java.net.SocketTimeoutException;
|
||||
import java.net.SocketException;
|
||||
import java.util.*;
|
||||
import java.text.SimpleDateFormat;
|
||||
|
||||
/**
|
||||
* Dav Gateway smtp connection implementation.
|
||||
@ -305,10 +306,15 @@ public class ImapConnection extends AbstractConnection {
|
||||
properties.put("junk", "1");
|
||||
}
|
||||
}
|
||||
// skip optional date
|
||||
// TODO : replace datereceived
|
||||
// handle optional date
|
||||
String dateOrSize = tokens.nextToken();
|
||||
if (tokens.hasMoreTokens()) {
|
||||
SimpleDateFormat dateParser = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss Z", Locale.ENGLISH);
|
||||
Date dateReceived = dateParser.parse(dateOrSize);
|
||||
SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
|
||||
dateFormatter.setTimeZone(ExchangeSession.GMT_TIMEZONE);
|
||||
|
||||
properties.put("datereceived", dateFormatter.format(dateReceived));
|
||||
dateOrSize = tokens.nextToken();
|
||||
}
|
||||
int size = Integer.parseInt(dateOrSize);
|
||||
|
Loading…
x
Reference in New Issue
Block a user