diff --git a/ActiveSync/NGMimeMessage+ActiveSync.m b/ActiveSync/NGMimeMessage+ActiveSync.m index 45643bee6..85fec63cd 100644 --- a/ActiveSync/NGMimeMessage+ActiveSync.m +++ b/ActiveSync/NGMimeMessage+ActiveSync.m @@ -33,14 +33,19 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #import #import +#import +#import + #import @implementation NGMimeMessage (ActiveSync) - (NSArray *) allRecipients { + NSEnumerator *enumerator, *addressList; NSMutableArray *recipients; - NSEnumerator *enumerator; + NGMailAddressParser *parser; + NGMailAddress *address; NSString *s; recipients = [NSMutableArray array]; @@ -48,13 +53,21 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. enumerator = [[self headersForKey: @"to"] objectEnumerator]; while ((s = [enumerator nextObject])) { - [recipients addObject: [s pureEMailAddress]]; + parser = [NGMailAddressParser mailAddressParserWithString: s]; + addressList = [[parser parseAddressList] objectEnumerator]; + + while ((address = [addressList nextObject])) + [recipients addObject: [address address]]; } enumerator = [[self headersForKey: @"cc"] objectEnumerator]; while ((s = [enumerator nextObject])) { - [recipients addObject: [s pureEMailAddress]]; + parser = [NGMailAddressParser mailAddressParserWithString: s]; + addressList = [[parser parseAddressList] objectEnumerator]; + + while ((address = [addressList nextObject])) + [recipients addObject: [address address]]; } return recipients; diff --git a/NEWS b/NEWS index 208096897..15672dc87 100644 --- a/NEWS +++ b/NEWS @@ -10,7 +10,7 @@ Enchancements - force default classification over CalDAV if none is set (#2326) Bug fixes - - + - fixed sending mails to multiple recipients over AS 2.2.8 (2014-09-10) ------------------