diff --git a/ActiveSync/SOGoActiveSyncDispatcher.m b/ActiveSync/SOGoActiveSyncDispatcher.m
index e9264283d..5bbc394c9 100644
--- a/ActiveSync/SOGoActiveSyncDispatcher.m
+++ b/ActiveSync/SOGoActiveSyncDispatcher.m
@@ -2490,6 +2490,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
else
[map setObject: email forKey: @"from"];
+ if ([[mailObject envelope] messageId])
+ [map setObject: [[mailObject envelope] messageId] forKey: @"in-reply-to"];
+
messageToSend = [[[NGMimeMessage alloc] initWithHeader: map] autorelease];
body = [[[NGMimeMultipartBody alloc] initWithPart: messageToSend] autorelease];
diff --git a/ActiveSync/SOGoMailObject+ActiveSync.m b/ActiveSync/SOGoMailObject+ActiveSync.m
index 3e513a4d5..96f05e929 100644
--- a/ActiveSync/SOGoMailObject+ActiveSync.m
+++ b/ActiveSync/SOGoMailObject+ActiveSync.m
@@ -973,9 +973,18 @@ struct GlobalObjectId {
[s appendFormat: @""];
}
+ if ([[[context request] headerForKey: @"MS-ASProtocolVersion"] isEqualToString: @"14.0"] &&
+ [[[context request] headerForKey: @"MS-ASProtocolVersion"] isEqualToString: @"14.1"])
+ {
+ if ([self inReplyTo])
+ [s appendFormat: @"%@", [[[self inReplyTo] dataUsingEncoding: NSUTF8StringEncoding] activeSyncRepresentationInContext: context]];
+ else if ([self messageId])
+ [s appendFormat: @"%@", [[[self messageId] dataUsingEncoding: NSUTF8StringEncoding] activeSyncRepresentationInContext: context]];
+ }
+
// FIXME - support these in the future
- //[s appendString: @"foobar"];
//[s appendString: @"zot="];
+
// NativeBodyType -- http://msdn.microsoft.com/en-us/library/ee218276(v=exchg.80).aspx
// This is a required child element.