gdaiss / skpsmtpmessage

Automatically exported from code.google.com/p/skpsmtpmessage
0 stars 0 forks source link

Multiply recipients dont send to GMail #54

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
SKPSMTPMessage sends to the SMTP address all at once, and must send one by one.

There is my changes in the parseBuffer function:

                case kSKPSMTPWaitingFromReply:
                {
                    if ([tmpLine hasPrefix:@"250 "]) {

                        if (!multipleRcptTo) {
                            NSMutableString *multipleRcptToString = [NSMutableString string];
                            [multipleRcptToString appendString:[self formatAddresses:toEmail]];
                            [multipleRcptToString appendString:[self formatAddresses:ccEmail]];
                            [multipleRcptToString appendString:[self formatAddresses:bccEmail]];

                            multipleRcptTo = [[multipleRcptToString componentsSeparatedByString:@"\r\n"] mutableCopy];
                            [multipleRcptTo removeLastObject];
                        } 
                        if ([multipleRcptTo count] > 0) {
                            NSString *rcptTo = [NSString stringWithFormat:@"%@\r\n", [multipleRcptTo objectAtIndex:0]];
                            [multipleRcptTo removeObjectAtIndex:0];

                            DEBUGLOG(@"C: %@", rcptTo);
                            if (CFWriteStreamWriteFully((CFWriteStreamRef)outputStream, (const uint8_t *)[rcptTo UTF8String], [rcptTo lengthOfBytesUsingEncoding:NSUTF8StringEncoding]) < 0)
                            {
                                error =  [outputStream streamError];
                                encounteredError = YES;
                            }
                            else
                            {
                                [self startShortWatchdog];
                            }
                        } 
                        if ([multipleRcptTo count] == 0) {
                            sendState = kSKPSMTPWaitingToReply;

                        }
                    }
                    break;
                }

and add this into header:

    NSMutableArray *multipleRcptTo;

Original issue reported on code.google.com by anisimo...@gmail.com on 1 Jul 2011 at 1:25