Доброго дня.
Задача состоит в следующем: на сайте должна быть форма отправки заказа на услугу на почту. Нашел в сети следующий код (содержимое файла form_processing.php):
Код |
---|
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle("");
?><?php
/* Осуществляем проверку вводимых данных и их защиту от враждебных
скриптов */
$your_name = htmlspecialchars($_POST["your_name"]);
$email = htmlspecialchars($_POST["email"]);
$tema = htmlspecialchars($_POST["tema"]);
$message = htmlspecialchars($_POST["messages"]);
/* Устанавливаем e-mail адресата */
$myemail = "example@mail.ru";
/* Проверяем заполнены ли обязательные поля ввода, используя check_input
функцию */
$your_name = check_input($_POST["your_name"], "Введите ваше имя!");
$tema = check_input($_POST["tema"], "Укажите тему сообщения!");
$email = check_input($_POST["email"], "Введите ваш e-mail!");
$message = check_input($_POST["message"], "Вы забыли написать сообщение!");
/* Проверяем правильно ли записан e-mail */
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email))
{
show_error("<br /> Е-mail адрес не существует");
}
/* Создаем новую переменную, присвоив ей значение */
$message_to_myemail = "Здравствуйте!
Вашей контактной формой было отправлено сообщение!
Имя отправителя: $your_name
E-mail: $email
Текст сообщения: $message
Конец";
/* Отправляем сообщение, используя mail() функцию */
$from = "From: $yourname <$email> \r\n Reply-To: $email \r\n";
mail($myemail, $tema, $message_to_myemail, $from);
?>
<p>Ваше сообщение было успешно отправлено!</p>
<p>На <a href="/site_rq/index.php">Главную >>></a></p>
<?php
/* Если при заполнении формы были допущены ошибки сработает
следующий код: */
function check_input($data, $problem = "")
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
if ($problem && strlen($data) == 0)
{
show_error($problem);
}
return $data;
}
function show_error($myError)
{
?>
<ht ml>
<body>
<p>Пожалуйста исправьте следующую ошибку:</p>
<?php echo $myError; ?>
</body>
</html>
<?php
exit();
}
?><?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?> |
Вместо example подставляю свой адрес почты. В html коде страницы, с которой отправляю письмо весит следующий код:
Код |
---|
<fo rm action="/site_rq/specialists/request/form_processing.php" method="post">
<p>Ваше имя:<br /><input type="text" name="your_name" /></p>
<p>E-mail:<br /><input type="text" name="email" /></p>
<p>Тема:<br /><input type="text" name="tema" /></p>
<p>Сообщение:<br />
<textarea name="message" rows="5" cols="45"> </textarea></p>
<p><input type="s ubmit" value="Отправить"></p>
</form> |
Заполняю все поля, указываю мэйл второго моего ящика и отправляю - пишет ваше письмо успешно отправлено. На ящик в итоге ничего не приходит. Можете подсказать в чем дело?
P.S.: еще одна деталь - сайт еще не функционирует (весит на серваке для тестов, но выход в интернет есть). Может это как-то влияет?