Всем здравствуйте! помогите разобратся при отсылки почты с авторизацией через телнет привтствие проходит нормально выдается 250-mx30.mail.ru Hello mail.ru [80.64.80.192] 250-SIZE 10485760 250-8BITMIME 250-AUTH PLAIN LOGIN 250 PIPELINING а при введении тогоже приветствия через код php выдает ОШИБКА ПРИВЕТСТВИЯ EHLO Кто сталкивался подскажите пожалуйста в чем причина вот код: PHP: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Untitled Document</title> </head> <body><? 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 "; $header.="From: =?windows-1251?Q?".str_replace("+","_",str_replace("%","=",urlencode(`Максим`)))."?= <login@mail.ru> "; $header.="X-Mailer: The Bat! (v3.99.3) Professional "; $header.="Reply-To: =?windows-1251?Q?".str_replace("+","_",str_replace("%","=",urlencode(`Максим`)))."?= <login@mail.ru> "; $header.="X-Priority: 3 (Normal) "; $header.="Message-ID: <172562218.".date("YmjHis")."@mail.ru> "; $header.="To: =?windows-1251?Q?".str_replace("+","_",str_replace("%","=",urlencode(`Сергей`)))."?= <qwe@asd.ru> "; $header.="Subject: =?windows-1251?Q?".str_replace("+","_",str_replace("%","=",urlencode(`проверка`)))."?= "; $header.="MIME-Version: 1.0 "; $header.="Content-Type: text/plain; charset=windows-1251 "; $header.="Content-Transfer-Encoding: 8bit "; $text="привет, проверка связи."; $smtp_conn = fsockopen("mail.autoforex.com.ua", 25,$errno, $errstr, 10); if(!$smtp_conn) {print "соединение с серверов не прошло"; fclose($smtp_conn); exit;} $data = get_data($smtp_conn); fputs($smtp_conn,"EHLO autoforex.com.ua "); $code = substr(get_data($smtp_conn),0,3); if($code != 250) {print "ошибка приветсвия EHLO"; fclose($smtp_conn); exit;} fputs($smtp_conn,"AUTH LOGIN "); $code = substr(get_data($smtp_conn),0,3); if($code != 334) {print "сервер не разрешил начать авторизацию"; fclose($smtp_conn); exit;} fputs($smtp_conn,base64_encode("support@autoforex.com.ua")." "); $code = substr(get_data($smtp_conn),0,3); if($code != 334) {print "ошибка доступа к такому юзеру"; fclose($smtp_conn); exit;} fputs($smtp_conn,base64_encode("tupoka1972")." "); $code = substr(get_data($smtp_conn),0,3); if($code != 235) {print "не правильный пароль"; fclose($smtp_conn); exit;} fputs($smtp_conn,"MAIL FROM:support@autoforex.com.ua "); $code = substr(get_data($smtp_conn),0,3); if($code != 250) {print "сервер отказал в команде MAIL FROM"; fclose($smtp_conn); exit;} fputs($smtp_conn,"RCPT TO:Basicprof@ukr.net "); $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 "); $code = substr(get_data($smtp_conn),0,3); if($code != 354) {print "сервер не принял DATA"; fclose($smtp_conn); exit;} fputs($smtp_conn,$header." ".$text." . "); $code = substr(get_data($smtp_conn),0,3); if($code != 250) {print "ошибка отправки письма"; fclose($smtp_conn); exit;} fputs($smtp_conn,"QUIT "); fclose($smtp_conn); ?> </body> </html>
незнаю , ставлю функцию принт на переменную $code а в браузере ничего нет ( пусто) подскажите пожалуйста а как проверить? $code = substr(get_data($smtp_conn),0,3); if($code != 250) {print "$code"; fclose($smtp_conn); exit;}
Оформи код! руками. 1.Вместо print лучше пользоваться var_dump/print_r 2. после Код (Text): fputs($smtp_conn,"EHLO autoforex.com.ua "); что у тебя возвращает? Код (Text): get_data($smtp_conn)
fputs($smtp_conn,"EHLO autoforex.com.ua "); var_dump/print_r "get_data($smtp_conn)"; Вставляю вот так ? пишет Parse error: syntax error, unexpected '"' in /home/autofore/public_html/nalog.php on line 38
Большое спасибо! Ну спасибо и на этом! Конечно же начну сначала просто время поджимает если нетрудно кто ни будь подскажите!
ты начала основы выучи, а потом будешь тут канючить. научись уважать других и тогда, МОЖЕТ БЫТЬ, другие начнут уважать тебя... лет через 5...