@Evdokim001
Начинающий PHP программист

Почему не работает форма обратной связи?

Добрый день. Сайт стоит на WP. Я поставил код для отправки на форму.
<form id="formStock" action="https://xn--b1adda6beidg.xn--p1ai/wp-content/themes/shabloner_1200/forms/contact_form.php" method="post" novalidate="novalidate"><!-- max-width: 25rem; -->
									<div class="form-group">
										<input type="text" name="name" id="name" class="form-control not-dark" placeholder="* Имя:">
									</div>
									<div class="form-group">
										<input type="text" id="phone" name="phone" class="form-control not-dark" placeholder="* Телефон:">
									</div>
									<div class="form-group">
									<small id="" class="form-text text-muted editable block_91125 item-option_218490 field_form_privacy">Отправляя данную форму, вы соглашаетесь c <a target="_blank" href="/politika-konfidencialnosti">Политикой конфиденциальности</a></small>
									</div>
									<button type="submit" class="button button-xxlarge button-rounded button-circle">Отправить</button>
								</form>

$post = (!empty($_POST)) ? true : false;
if($post) {
    $name = $_POST['name'];
    $nameOrganization = $_POST['nameOrganization'];
    $phone = $_POST['phone'];
    $email = $_POST['mail'];
	$error = '';
    if(!$phone) {$error .= 'Укажите номер телефона. ';}
	if(!$name){ $name = 'Не указано';}
	if(!$nameOrganization){ $nameOrganization = 'Не указано';}
	if(!$email){ $email = 'Не указано';}
	if(!$error) {
	$address = "khachaturovedgar01@gmail.com";
	$sub = "Письмо с сайта Amsel";
	$mes = "Тема: ".$sub."
	Имя: ".$name."
	Телефон: ".$phone."
	Имя организации: ".$nameOrganization."
	Email: ".$email."\n\n";
		$send = mail($address,$sub,$mes);
		if($send) { 
			echo "OK";
		}
	}
	else {echo '<div class="err">'.$error.'</div>';}
}

При отправке выбивает ок, но письмо не приходит. Это же нелогично. Другой сайт на котором стоит этот же код правильно отрабатывает данный запрос. Пожалуйста, подскажите в чем может быть проблема? росдерево.рф
  • Вопрос задан
  • 54 просмотра
Решения вопроса 1
@zkrvndm
Веб-разработчик
Проблема в хостинге, если вы получили ОК, то значит письмо гарантированно было отправлено и если оно не дошло до адресата, то значит письмо тупо увязло в спам фильтрах. Это распостраненная проблема при использовании функции mail(), поэтому лучше всего для отправки исходящих уведомлений использовать SMTP.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Lord_Dantes
@Lord_Dantes
Чат джунов t.me/developersjunior
Дело не в коде, хотя в атрибуте action я бы поставил нормальный путь от Wordpress'a. Как упомянули выше посмотрите причины прихода писем в спам и напишите в поддержку хоста.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы