@valya1988

Почему не приходит форма на почту?

<div class="footer-form">
<div class="footer-include">
<div class="gr-form-wrap tpl-anketa" data-api-url="<?=get_template_directory_uri().'/'?>forms/contact_form.php" data-api-type="form">
<form method="post" action="./mail.php" class="gr-form">
<div class="gr-head">Заказать такси онлайн</div>
<input type="hidden" name="form_id" value="7209841">
<input type="hidden" name="tpl" value="db:form.minimal.tpl">
<input type="hidden" name="params[placeholdered_fields]" value="1" />
<input type="hidden" name="params[hide_title]" value="" />
<input type="hidden" name="params[fields_table]" value="1" />
<div class="gr-fields-wrap">
<div class="gr-field-cell">
<div class="gr-field type-text" data-alias="name">
<div class="gr-value">
<input type="text" size="30" maxlength="100" value="" name="d[0]" placeholder="Имя *" />
</div>
</div>
<div class="gr-field type-text" data-alias="mail">
<div class="gr-value">
<input type="text" size="30" maxlength="100" value="" name="d[1]" placeholder="Телефон *" />
</div>
</div>	
<blockquote><div class="gr-field type-text" data-alias="otkuda">
<div class="gr-value">
<div class="dropdown dropdown-dark">
<select name="two" class="dropdown-select">
<option  value=" Откуда? "> Откуда? </option >	
<option  value=" Алушта "> Алушта </option >
<option value=" Алупка "> Алупка </option>
<option value=" Ай-Даниль "> Ай-Даниль </option>
</select>
</div>	
</div>
<div class="gr-field type-text" data-alias="kuda">
<div class="gr-value">
<div class="dropdown dropdown-dark">
<select name="two" class="dropdown-select">
<option  value=" Откуда? "> Куда? </option >	
<option  value=" Алушта "> Алушта </option >
<option value=" Алупка "> Алупка </option>
<option value=" Ай-Даниль "> Ай-Даниль </option>
<option value=" Армянск "> Армянск </option>
<option value=" Бахчисарай "> Бахчисарай </option>
</select>
</div>
</div>	
</div>
</blockquote>
<blockquote><div class="gr-field type-text3" data-alias="klas avto">
<div class="gr-value">
<div class="dropdown dropdown-dark">
<select name="two3" class="dropdown-select3">
<option value=" Класс автомобиля"> Класс автомобиля</option>
<option value=" Стандарт"> Стандарт</option>
<option value=" Комфорт"> Комфорт</option>
<option value=" Бизнес"> Бизнес</option>	
<option value=" Минивэн"> Минивэн</option>	
</select>
</div>	
</div>	
</div>	
</blockquote>
<blockquote>
<input type="text4" placeholder = "Дата"<dr><input type="text5" placeholder = "Время" >
</blockquote>
</div>
</div>	
<div class="gr-field-cell">
<div class="gr-field type-textarea" data-alias="content">
<div class="gr-value">
<textarea cols="50" rows="3" name="d[2]" placeholder="Ваш комментарий">
</textarea>
</div>
<div class="gr-field gr-field-cell tpl-field-button">
<button type="submit" class="site-button gr-button">ЗАКАЗАТЬ</button>
</div>
</div>
</form>
</div>
</div>
</div>


<?php

error_reporting(0);

$emails = file('../emails.txt');

// несколько получателей
$to = 'taksi.linkor@mail.ru'; 

// тема письма
$subject = 'Новая заявка с сайта '.$_SERVER['HTTP_HOST'].' ('.date('H:i d.m.Y').')';

// текст письма
$message = 'Пользователь';

foreach($_POST['data'] as $key => $val)
{
	$message .= '<p>'.str_replace(array('name', 'phone', 'email'), array('Имя', 'Телефон', 'E-mail'), $key).': <strong>'.$val.'</strong></p>'."\n";
}
foreach($_POST['d'] as $key => $val)
{
	$message .= '<p>'.str_replace("\r", '<br>', $val).'</p>'."\n";
}
$message .= '<p>--<br><em>Письмо автоматически сформировано сайтом <strong>'.$_SERVER['HTTP_HOST'].'</strong> отвечать на него не нужно</em></p>';

// Для отправки HTML-письма должен быть установлен заголовок Content-type
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";

// Дополнительные заголовки
//$headers[] = 'To: Mary <mary@example.com>, Kelly <kelly@example.com>';
$headers .= 'From: '.$_SERVER['HTTP_HOST'].' <noreply@'.$_SERVER['HTTP_HOST'].'>';

// Отправляем
mail($to, $subject, $message, $headers);

/*$f = fopen('text.txt', 'w');
fwrite($f, $to."\n\n".$subject."\n\n".$message);
fclose($f);*/

echo 'OK';

?>
  • Вопрос задан
  • 50 просмотров
Пригласить эксперта
Ответы на вопрос 2
gobananas
@gobananas
botbot.ru
Включить отображение ошибок.
Проверить перед mail() все переменные через var_dump() например.
Поставить phpmailer и отправлять через него вместо
mail($to, $subject, $message, $headers);
Ответ написан
orlov0562
@orlov0562
I'm cool!
mail возвращает false в случае неудачи, т.е. надо так делать
if (mail($to, $subject, $message, $headers)) {
echo 'OK';
} else {
echo 'NOT OK';
}


Проблема может быть так же в том, что сервер в бан-листе или у него не настроен MTA. Т.е. дело может быть и не в PHP. Если скрипт работает, попробуй в консоли отправить письмо и посмотри дойдет оно или нет
mail -s "Test Subject" user@example.com < /dev/null


Так же не забудь проверить папку "Спам", зачастую письма прилетают туда
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
HTML Academy Санкт-Петербург
от 110 000 до 130 000 руб.
CENTRA Новокузнецк
от 50 000 руб.
от 1 500 до 2 500 usd.