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.