Задать вопрос
@lesmanora

Как сделать отправку обратного сообщения с формы на сайте?

Такой вопрос, нужно на сайте сделать отправку файла на указанный емайл из формы.
То есть есть кнопка получить брошюру, при нажатие на нее заполняется форма и после сообщение приходит на почту пользователя, которую он оставил в форме.

Как это сделать??????????
В первые столкнулась с этим.

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    if (isset($_POST['name'])) {$name = $_POST['name'];}
    if (isset($_POST['fam'])) {$fam = $_POST['fam'];}
    if (isset($_POST['phone'])) {$phone = $_POST['phone'];}   
    if (isset($_POST['mail'])) {$mail = $_POST['mail'];}    	 	
    if (isset($_POST['text'])) {$text = $_POST['text'];}

    $to = "test@gmail.com"; /*Укажите адрес, га который должно приходить письмо*/
	$sendfrom   = "test@gmail.com"; /*Укажите адрес, с которого будет приходить письмо, можно не настоящий, нужно для формирования заголовка письма*/
    $headers  = "From: " . strip_tags($sendfrom) . "\r\n";
    $headers .= "Reply-To: ". strip_tags($sendfrom) . "\r\n";
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html;charset=utf-8 \r\n";
    $subject = "$text";
	$message = "$text<br> 
	<b>Имя:</b> $name <br>
	<b>Фамилия:</b> $fam <br>
	<b>Телефон:</b> $phone <br>
	<b>Почта:</b> $mail <br>
	<b>Комментарий:</b> $text <br>
	";

	
    $send = mail ($to, $subject, $message, $headers);
    if ($send == 'true')
    {
    echo '<center><p class="success">Спасибо за регистрацию! Мы свяжимся с Вами в течение 30 минут.</p></center>';
    }
    else 
    {
    echo '<center><p class="fail"><b>Ошибка. Сообщение не отправлено!</b></p></center>';
    }
} else {
    http_response_code(403);
    echo "Попробуйте еще раз";
}
?>
  • Вопрос задан
  • 45 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
rpsv
@rpsv
делай либо хорошо, либо никак
Если хотите возиться с заголовками можете использовать mail , если хотите проще - PHPMailer: https://stackoverflow.com/questions/12301358/send-... (оба варианта там есть)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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