Проблемы с mail в php. Что я делаю не так?

Здравствуйте! Есть проблема. Написал код обратной связи, но письмо не отправляется, подскажите где проблема
HTML:
<form action="mail.php" method="post">
			Ваше полное имя: <input type="text" name="name" required><br><br>
			Введите E-mail:<input type="email" name="email" placeholder="E-mail" required><br><br>
			Выберете тип вашего приложения:<select name="type" required>
                <option disabled selected>Выберете тип вашего приложения</option>
                <option valvue="1">Вэб</option>
                <option valvue="2">Exe</option>
                <option valvue="3">Test</option>
                <option valvue="4">Test</option>
                <option valvue="5">Test</option>
            </select><br><br>
            Введите комментарий (до 200 символов):<textarea name="comment" maxlength="200"></textarea><br><br>
            <button type="submit">Отправить на модерацию</button>
		</form>

mail.php:
<?php
if($_POST['type'] == 1) {
    $subject = 'Вэб';
}
elseif($_POST['type'] == 2) {
    $subject = 'Exe';
}
elseif($_POST['type'] == 3) {
    $subject = '3';
}
elseif($_POST['type'] == 4) {
    $subject = '4';
}
elseif($_POST['type'] == 5) {
    $subject = '5';
} else {
    $subject = 'НЕ ВЫБРАНО';
}

$to = "******";
$from = $_POST['email'];

$message = $_POST['comment'];

if(mail($to, $subject, $message)) {
    echo "Ваша разработка отправлена на модерацию";
}
else {
    echo "Не отпр";
}
?>

P.S. Если что про case я знаю)
  • Вопрос задан
  • 318 просмотров
Решения вопроса 1
! РЕШЕНИЕ ОБНАРУЖЕНО(благодаря комментариям) !
1. не valvue а valve
2. у моего хостера (если вдруг интересно то sweb.ru) на тестовых аккаунтах отключена эта функция
ВСЁ СЕЙЧАС РАБОТАЕТ!
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
var_dump($_POST);

PS: Ладно, ждать подробностей долго, по этому кратко по основам.
mail() будет работать в случае если у вас, помимо прочего, настроена отправка почты через smtp сервер, который либо у вас установлен локально (в чем есть сомнения), либо вы запускаете скрипт в среде уже настроенной (например у хостера с поддержкой отправки почты). В противном случае эта функция просто бесполезна. Так же, mail() возвращает true не в случае отправки почты, а в случае успешной постановки в очередь отправки, что саму отправку совершенно не гарантирует.
Ответ написан
402d
@402d
начинал с бейсика на УКНЦ в 1988
Функция mail() на шаред хостингах обычно запрещена.
Чтобы при проникновении трояна на ваш сайт не рассылали спам.
Дальше идут варианты. Можно самому ее разрешить и настроить или нет.
А потом головная боль, чтобы письмо хотя бы в папку спам попадало.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы