Доброго времени суток всем. Вот решил написал скрипт по отправке емаилов через ящик yandex.ru Написал сам код в php и сделал форму в html чтоб адрес водить кому отправить хочеш Содержание html файла HTML: <form name="form1" method="post" action="email1.php"> <input type="text" name="email"> обратный email <br> <input type="submit" name="Submit" value="отправить"> </form> Все работает отлично водишь адрес кому хочешь отправить письмо, жмешь на кнопочку и вот она уже доставлено ... но теперь встала проблема как отправлять автоматически на список адресов. Подскажите пожалуйста как надо переписать код чтобы в место того чтобы данные водились не с формы а брались построчно из текстого файла. Надо изменить две переменые post в строках приведеных ниже и что то дописать но у меня не как получается этого сделать ... PHP: $header.="To:".$_POST['email']."\r\n"; и PHP: fputs($smtp_conn,"RCPT TO:".$_POST['email']."\r\n"); Содержание cамо скрипта email1.php PHP: <? function get_data($smtp_conn) { $data=""; while($str = fgets($smtp_conn,515)) { $data .= $str; if(substr($str,3,1) == " ") { break; } } return $data; } $header="Date: ".date("D, j M Y G:i:s")." +0700\r\n"; $header.="From: =?windows-1251?Q?".str_replace("+","_",str_replace("%","=",urlencode('Проверка')))."?= <proverka@yandex.ru>\r\n"; $header.="X-Mailer: The Bat! (v3.99.3) Professional\r\n"; $header.="Reply-To: =?windows-1251?Q?".str_replace("+","_",str_replace("%","=",urlencode(' Проверка')))."?= <proverka@yandex.ru>\r\n"; $header.="X-Priority: 3 (Normal)\r\n"; $header.="Message-ID: <172562218.".date("YmjHis")."@mail.ru>\r\n"; $header.="To:".$_POST['email']."\r\n"; $header.="Subject: =?windows-1251?Q?".str_replace("+","_",str_replace("%","=",urlencode('Проверка')))."?=\r\n"; $header.="MIME-Version: 1.0\r\n"; $header.="Content-Type: text/plain; charset=windows-1251\r\n"; $header.="Content-Transfer-Encoding: 8bit\r\n"; $text="Проверка"; $smtp_conn = fsockopen("smtp.yandex.ru", 25,$errno, $errstr, 10); if(!$smtp_conn) {print "соединение с серверов не прошло"; fclose($smtp_conn); exit;} $data = get_data($smtp_conn); fputs($smtp_conn,"HELO yandex.ru\r\n"); $code = substr(get_data($smtp_conn),0,3); if($code != 250) {print "ошибка приветсвия HELO"; fclose($smtp_conn); exit;} fputs($smtp_conn,"AUTH LOGIN\r\n"); $code = substr(get_data($smtp_conn),0,3); if($code != 334) {print "сервер не разрешил начать авторизацию"; fclose($smtp_conn); exit;} fputs($smtp_conn,base64_encode("tretresh5")."\r\n"); $code = substr(get_data($smtp_conn),0,3); if($code != 334) {print "ошибка доступа к такому юзеру"; fclose($smtp_conn); exit;} fputs($smtp_conn,base64_encode("qwertyazsxdc")."\r\n"); $code = substr(get_data($smtp_conn),0,3); if($code != 235) {print "не правильный пароль"; fclose($smtp_conn); exit;} fputs($smtp_conn, "MAIL FROM:tretresh5@yandex.ru\r\n"); $code = substr(get_data($smtp_conn),0,3); if($code != 250) {print "сервер отказал в команде MAIL FROM"; fclose($smtp_conn); exit;} fputs($smtp_conn,"RCPT TO:".$_POST['email']."\r\n"); $code = substr(get_data($smtp_conn),0,3); if($code != 250 AND $code != 251) {print "Сервер не принял команду RCPT TO"; fclose($smtp_conn); exit;} fputs($smtp_conn,"DATA\r\n"); $code = substr(get_data($smtp_conn),0,3); if($code != 354) {print "сервер не принял DATA"; fclose($smtp_conn); exit;} fputs($smtp_conn,$header."\r\n".$text."\r\n.\r\n"); $code = substr(get_data($smtp_conn),0,3); if($code != 250) {print "ошибка отправки письма"; fclose($smtp_conn); exit;} fputs($smtp_conn,"QUIT\r\n"); fclose($smtp_conn); ?> Так как я только начел изучать php очень прошу если будети отвечать на пост разжовываите все =) Зарание благодарю всех кто отпишется
Чтобы прочитать файл вам потребуется функция file(). http://ru2.php.net/manual/en/function.file.php Она как раз возвращает содержимое файла в виде массива строк. Если у Вас есть файл типа То вы получите массив array ( на $addr и молитесь, чтобы яндекс не подумал, что вы спамите) } $filename - это путь к файлу с адресами. Его нужно положить на сервер. [/quote]