@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';

?>
  • Вопрос задан
  • 49 просмотров
Пригласить эксперта
Ответы на вопрос 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


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

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

Войти через TM ID
Похожие вопросы