使用SKPSMTPMessage向多个收件人发送电子邮件?
我需要在后台发送电子邮件,所以我必须使用名为SMTP的库。而我使用的主要类是:SKPSMTPMessage。问题是“ccEmail”,当我添加2个以上的收件人时,它不能发送电子邮件。 (花费很长时间去委托方法)。它适用于收件人< = 2.使用SKPSMTPMessage向多个收件人发送电子邮件?
smtpEmail.ccEmail = @"[email protected], [email protected], [email protected]";
任何人都知道这一点,请帮助我。非常感谢 !
还有就是我在parseBuffer功能的变化:
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;
}
并添加到报头这样的:
NSMutableArray *multipleRcptTo;
EDIT:下面方法还改变为multipleRcptTo
被用作的NSMutableString这是本地声明:
- (NSString *)formatAddresses:(NSString *)addresses {
NSCharacterSet *splitSet = [NSCharacterSet characterSetWithCharactersInString:@";,"];
NSMutableString *multipleRcpt = [NSMutableString string];
if ((addresses != nil) && (![addresses isEqualToString:@""])) {
if([addresses rangeOfString:@";"].location != NSNotFound || [addresses rangeOfString:@","].location != NSNotFound) {
NSArray *addressParts = [addresses componentsSeparatedByCharactersInSet:splitSet];
for(NSString *address in addressParts) {
[multipleRcpt appendString:[self formatAnAddress:address]];
}
}
else {
[multipleRcpt appendString:[self formatAnAddress:addresses]];
}
}
return(multipleRcpt);
}
SKPSMTPMessage
一次发送到SMTP地址,并且必须一一发送。
什么是formatAddresses?我想你忘了添加该地址... – 2013-09-27 08:34:06
这是SKPSMTPMessage类中的一个函数。 – Maxim 2013-09-27 13:18:19
+1工作完美男人的伟大........ – 2013-10-04 11:50:05
任何人都有这个解决方案,请帮助我。我必须用这种方式发送电子邮件:SMTP,但是当我添加许多cc收件人时,它不起作用。我想知道为什么它只是少于或等于2个收件人。 – abelhoang 2011-04-27 12:45:38
嗨,它是否与2收件人一起工作?如果有,请让我知道。我不能发送电子邮件给更多的1收件人使用SKPSMTPMessage。请回复 – Mann 2011-08-13 20:34:45