diff --git a/ActiveSync/SOGoMailObject+ActiveSync.m b/ActiveSync/SOGoMailObject+ActiveSync.m
index d16f97ad9..461f76db0 100644
--- a/ActiveSync/SOGoMailObject+ActiveSync.m
+++ b/ActiveSync/SOGoMailObject+ActiveSync.m
@@ -258,6 +258,38 @@ struct GlobalObjectId {
return rc;
}
+//
+//
+//
+- (NSString *) _personalNameFrom: (NSArray *) enveloppeAddresses
+{
+ NGImap4EnvelopeAddress *address;
+ NSString *email, *rc, *name;
+ NSMutableArray *addresses;
+ int i, max;
+
+ rc = nil;
+ max = [enveloppeAddresses count];
+
+ if (max > 0)
+ {
+ addresses = [NSMutableArray array];
+ for (i = 0; i < max; i++)
+ {
+ address = [enveloppeAddresses objectAtIndex: i];
+ name = [address personalName];
+ email = [NSString stringWithFormat: @"%@", (name ? name : [address baseEMail])];
+
+ if (email)
+ [addresses addObject: email];
+ }
+ rc = [addresses componentsJoinedByString: @";"];
+ }
+
+ return rc;
+}
+
+
//
//
//
@@ -859,7 +891,11 @@ struct GlobalObjectId {
// If there are multiple e-mail addresses, they are separated by commas."
value = [self _emailAddressesFrom: [[self envelope] to]];
if (value)
- [s appendFormat: @"%@", [value activeSyncRepresentationInContext: context]];
+ {
+ [s appendFormat: @"%@", [value activeSyncRepresentationInContext: context]];
+ // DisplayTo - If there are multiple display names, they are separated by semi-colons.
+ [s appendFormat: @"%@", [self _personalNameFrom: [[self envelope] to]]];
+ }
// From
value = [self _emailAddressesFrom: [[self envelope] from]];
@@ -881,9 +917,6 @@ struct GlobalObjectId {
else
[s appendFormat: @"%@", [[NSDate date] activeSyncRepresentationInContext: context]];
- // DisplayTo
- [s appendFormat: @"%@", [[context activeUser] login]];
-
// Cc - same syntax as the To field
value = [self _emailAddressesFrom: [[self envelope] cc]];
if (value)