Отправить письмо с помощью PHP
Как отправить письмо с помощью PHP?
HTML форма с input
HTML
<form action="" method="post">
<label for="name">Name:</label>
<input type="text" name="name" id="name" />
<label for="Email">Email:</label>
<input type="text" name="email" id="email" />
<label for="Message">Message:</label><br />
<textarea name="message" rows="20" cols="20" id="message"></textarea>
<input type="submit" name="submit" value="Submit" />
</form>
Обрабатывает с помощью PHP
Следующий код может быть выделен в отдельный файл. Достаточно прописать активный url в форме, ссылающийся на этот файл-обработчик. Или можно опустить файл обработчик (action url) и обрабатывать письмо в одном файле.
PHP
<?php
// Данные полученные из формы
$name = trim(strip_tags($_POST['name']));
$email = trim(strip_tags($_POST['email']));
$message = htmlentities($_POST['message']);
// trim() - убираем все лишние пробелы и переносы строк,
// strip_tags() — удаляет HTML и PHP тэги из строки,
// htmlentities — преобразует символы в соответствующие HTML сущности
(иногда необходимо убрать для корректного вывода кириллицы).
// Настройки
// $subject - тема сообщения (как видно - всегла одна и таже)
$subject = "Contact form submitted!";
// $to - кому отправляем
$to = 'your@email.com';
$body = <<<HTML
$message
HTML;
$headers = "From: $email\r\n";
$headers .= "Content-type: text/html\r\n";
// послать письмо
mail($to, $subject, $body, $headers);
// переадресовываем послесловие, если необходимо
header('Location: thanks.html');
?>
Предотвращаем повторную отправку формы при обновлении страницы
Чтобы повторно не отправлять форму, например, если пользователь заполнил форму, отправил данные, и нажимает обновить страницу (что значит повторить запрос, таким образом данные повторно отправятся на сервер), нужно после обработки форму ставить:
PHP
header("Location: your_page.php");
Комментарии к статье
куда вставить PHP???
создай файл к примеру mail.php и вставь в нрего код php. а в HTML форма с input в строке (<form action="" method="post">) должен написать так (<form action="mail.php" method="post">)
Не работает, при нажатии отправляет меня на файл php