арбитражу по ночам - Репутация: 464
- Webmoney BL:
? | проблема решена. в строке INPUT для телефона было так phone = "phone", а нужно name = "phone". Но возникла следующая трабла: после переноса на бесплатный хостинг выяснилось, что функция mail() на php не активна ... ТП предложила либо перейти на платный, либо настроить отправку через SMTP Кто нибудь делал такое? Помогите советом. Буду признателен. Вот что выложено в качестве примера
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('Максим')))."?= <login@mail.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('Максим')))."?= <login@mail.ru>\r\n"; $header.="X-Priority: 3 (Normal)\r\n"; $header.="Message-ID: <172562218.".date("YmjHis")."@mail.ru>\r\n"; $header.="To: =?windows-1251?Q?".str_replace("+","_",str_replace("%","=",urlencode('Сергей')))."?= <qwe@asd.ru>\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.mail.ru", 25,$errno, $errstr, 10); if(!$smtp_conn) {print "соединение с серверов не прошло"; fclose($smtp_conn); exit;} $data = get_data($smtp_conn); fputs($smtp_conn,"EHLO mail.ru\r\n"); $code = substr(get_data($smtp_conn),0,3); if($code != 250) {print "ошибка приветсвия EHLO"; 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("login")."\r\n"); $code = substr(get_data($smtp_conn),0,3); if($code != 334) {print "ошибка доступа к такому юзеру"; fclose($smtp_conn); exit;}
fputs($smtp_conn,base64_encode("password")."\r\n"); $code = substr(get_data($smtp_conn),0,3); if($code != 235) {print "не правильный пароль"; fclose($smtp_conn); exit;}
fputs($smtp_conn,"MAIL FROM:login@mail.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:qwe@asd.ru\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 код: <?PHP header("Content-Type: text/html; charset=utf-8"); if (isset($_POST['name'])) {$name = $_POST['name'];} if (isset($_POST['phone'])) {$phone = $_POST['phone'];}
$address = 'b---@mail.ru, s-----@ukr.net'; $sub = "Заявка с сайта lumino.ga"; $mes = "Имя: $name \nТелефон: $phone"; $verify = false;
if(!empty($name) && !empty($phone)) { $verify = mail ($address,$sub,$mes,"Content-type:text/plain; charset = utf-8\r\nFrom:$name"); } if ($verify == 'true') { echo "<p>Сообщение отправлено"; } else { echo "<p>Сообщение не отправлено"; } ?>
<!DOCTYPE html> <html lang="ru">
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/> <head> <meta charset="utf-8"/> <meta name="viewport" content="width=device-width, initial-scale=1.0"/> <title>Поздравляем! Ваш заказ принят!</title> <link type="text/css" rel="stylesheet" href="success/style000.css"/> </head> <body> <div class="wrap_block_success"> <div class="block_success"> <h2>Поздравляем! Ваш заказ принят!</h2>
<p class="success">В ближайшее время с вами свяжется оператор для подтверждения заказа. Пожалуйста, включите ваш контактный телефон.</p> </div> </div>
</body> </html>
Как это связать вместе - ума не приложу. Может кто подскажет?))) ---------- Сообщение добавлено 10:46 ---------- Предыдущее 10:27 ---------- Как выяснилось на бесплатном хостинге у Бегет.ру функция php mail() не активна... Отсюда все вытекающие... |