diff --git a/config/alfresco/model/imapModel.xml b/config/alfresco/model/imapModel.xml
index 1d79886e02..f31df99dbe 100644
--- a/config/alfresco/model/imapModel.xml
+++ b/config/alfresco/model/imapModel.xml
@@ -197,6 +197,16 @@
+
+ IMAP Message Headers
+
+
+ Message Headers
+ d:text
+ true
+
+
+
\ No newline at end of file
diff --git a/config/alfresco/subsystems/imap/default/imap-server-context.xml b/config/alfresco/subsystems/imap/default/imap-server-context.xml
index 5222a989ed..4462b36e15 100644
--- a/config/alfresco/subsystems/imap/default/imap-server-context.xml
+++ b/config/alfresco/subsystems/imap/default/imap-server-context.xml
@@ -184,6 +184,11 @@
${imap.server.enabled}
+
+
+ Message-Id
+
+
diff --git a/pom.xml b/pom.xml
index 3e08a4afca..70e8f4e097 100644
--- a/pom.xml
+++ b/pom.xml
@@ -38,7 +38,7 @@
com.icegreen
greenmail
- 1.3-alfresco-20130711
+ 1.3-alfresco-20141112
commons-dbcp
diff --git a/source/java/org/alfresco/model/ImapModel.java b/source/java/org/alfresco/model/ImapModel.java
index cc7afb99ab..e5c24f8765 100644
--- a/source/java/org/alfresco/model/ImapModel.java
+++ b/source/java/org/alfresco/model/ImapModel.java
@@ -65,5 +65,10 @@ public interface ImapModel
static final QName ASPECT_IMAP_PREFERENCES = QName.createQName(IMAP_MODEL_1_0_URI, "imapPreferences");
static final QName ASSOC_IMAP_UNSUBSCRIBED = QName.createQName(IMAP_MODEL_1_0_URI, "imapUnsubscribed");
+
+ static final QName ASPECT_IMAP_MESSAGE_HEADERS = QName.createQName(IMAP_MODEL_1_0_URI, "messageHeaders");
+ static final QName PROP_MESSAGE_HEADERS = QName.createQName(IMAP_MODEL_1_0_URI, "messageHeaders");
+
+ static final String MESSAGE_HEADER_TO_PERSIST_SPLITTER = ":";
}
diff --git a/source/java/org/alfresco/repo/imap/AbstractImapFolder.java b/source/java/org/alfresco/repo/imap/AbstractImapFolder.java
index d01be042da..9cf9bf5897 100644
--- a/source/java/org/alfresco/repo/imap/AbstractImapFolder.java
+++ b/source/java/org/alfresco/repo/imap/AbstractImapFolder.java
@@ -49,7 +49,7 @@ public abstract class AbstractImapFolder implements MailFolder
private List listeners = new LinkedList();
protected ServiceRegistry serviceRegistry;
- protected static int MAX_RETRIES = 1;
+ protected static int MAX_RETRIES = 20;
public AbstractImapFolder(ServiceRegistry serviceRegistry)
@@ -103,7 +103,7 @@ public abstract class AbstractImapFolder implements MailFolder
* @param uid - UID of the message
* @param toFolder - reference to the destination folder.
*/
- public void copyMessage(final long uid, final MailFolder toFolder) throws FolderException
+ public long copyMessage(final long uid, final MailFolder toFolder) throws FolderException
{
AbstractImapFolder toImapMailFolder = (AbstractImapFolder) toFolder;
@@ -112,15 +112,14 @@ public abstract class AbstractImapFolder implements MailFolder
throw new FolderException(AlfrescoImapFolderException.PERMISSION_DENIED);
}
- CommandCallback