Добрый день! Для рассылки документов компании решил написать рнр скрипт отправки почты с вложением, однако столкнулся с ошибкой при отправке 5 по счету письма(хотя через проги для рассылки при установке ограничения на количество соединений равное 3 все работает): Error: too many connections from <ip>. Писал sleep(2) после отправки каждого письма в цикле - не помогло, да и в проге задержка по времени не помогала. Подскажите как сделать в рнр ограничение на количество соединений, а также как прикреплять несколько файлов(скрипт редактировал на примере из денвера, сорри за лишние переменные). Код (Text): <html> <head><title>Проверка отладочной заглушки для sendmail</title></head> <body> <? @extract($_SERVER, EXTR_SKIP); @extract($_POST, EXTR_SKIP); @extract($_GET, EXTR_SKIP); if(!@$to) $to="pochta@123.com"; if(!@$subject) $subject="Congratulations!"; if(!@$body) $body="Hello!\nToday is ".date("Y-m-d").".\nThis is the test\nmail body.\n\nIf you see this, sendmail stub seems to be OK."; ?> <form action="<?=$_SERVER["REQUEST_URI"]?>" method=POST> <?if (empty($_GET['noform'])) {?> <h2>Послать тестовое письмо:</h2> <table cellpadding=5 cellspacing=2> <tr valign=top> <td>To:</td> <td><input type=text name=to value="<?=@HtmlSpecialChars($to)?>"></td> </tr> <tr valign=top> <td>Subject:</td> <td><input type=text name=subject value="<?=@HtmlSpecialChars($subject)?>"></td> </tr> <tr valign=top> <td>Текст:</td> <td><textarea name=body cols=50 rows=4><?=@HtmlSpecialChars($body)?></textarea></td> </tr> <tr valign=top> <td colspan=2> <input type=submit name=doSendSendmail value="Послать через mail() (sendmail)"> </td> </tr> </table> <?} else {?> <input type=submit name=doDel value="Очистить отладочную директорию"> <?}?> </form> <? if (@$doSendSendmail) { function mail_attachment($filename, $path, $mailto, $from_mail, $from_name, $replyto, $subject, $message, $filerus) { $file = $path.$filename; $file_size = filesize($file); $handle = fopen($file, "r"); $content = fread($handle, $file_size); fclose($handle); $content = chunk_split(base64_encode($content)); $uid = md5(uniqid(time())); $name = basename($file); $header = "From: ".$from_name." <".$from_mail.">\r\n"; $header .= "Reply-To: ".$replyto."\r\n"; $header .= "MIME-Version: 1.0\r\n"; $header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n"; $header .= "This is a multi-part message in MIME format.\r\n"; $header .= "--".$uid."\r\n"; $header .= "Content-type:text/plain; charset=windows-1251\r\n"; $header .= "Content-Transfer-Encoding: 7bit\r\n\r\n"; $header .= $message."\r\n\r\n"; $header .= "--".$uid."\r\n"; $header .= "Content-Type: application/octet-stream; name=\"".$filerus."\"\r\n"; // use different content types here $header .= "Content-Transfer-Encoding: base64\r\n"; $header .= "Content-Disposition: attachment; filename=\"".$filerus."\"\r\n\r\n"; $header .= $content."\r\n\r\n"; $header .= "--".$uid."--"; if (mail($mailto, $subject, "", $header)) { echo "mail send ... OK"; // or use booleans here } else { echo "mail send ... ERROR!"; } } //чтение списка контактов из базы данных (в нашем случае файл с контактами из трех позиций через ;) $fp = fopen("stroki.txt", "r"); // Открываем файл в режиме чтения $file_array = file("stroki.txt"); $num_str = count($file_array); echo "Всего контактов для рассылки:".$num_str."<br>"; if ($fp) { $i=0; while (!feof($fp)) { $my_str[$i] = fgets($fp, 1024); // echo $my_str."<br />"; $pieces = explode(";", $my_str[$i]); $mass_addr[$i][0] = $pieces[0]; $mass_addr[$i][1] = $pieces[1]; $mass_addr[$i][2] = $pieces[2]; $i=$i+1; } } else echo "Ошибка при открытии файла"; fclose($fp); //конец работы с файлом и контактами for($z=0;$z<$num_str;$z++) { $my_file = "документ.pdf"; $my_filerus = '=?windows-1251?B?'.base64_encode($my_file).'?='; $my_path = $_SERVER['DOCUMENT_ROOT']."/Tests/sendmail/"; $pre_name = "123 оао"; $my_name = '=?windows-1251?B?'.base64_encode($pre_name).'?='; $my_mail = "pochta@123.com"; $my_replyto = "pochta@123.com"; $pre_subject = "приглашение".$mass_addr[$z][0]; $my_subject = '=?windows-1251?B?'.base64_encode($pre_subject).'?='; $body = stripslashes($body); $body2 = "Добрый день, ".$mass_addr[$z][1]."!\r\n".$body; $to = $mass_addr[$z][2]; mail_attachment($my_file, $my_path, $to, $my_mail, $my_name, $my_replyto, $my_subject, $body2, $my_filerus); sleep(2); } } ?> </body> </html>