Изучаем PHP 7.№13. Функция mail. Делаем форму обратной связи.

Функция mail. Делаем форму обратной связи.
На любом сайте должна быть форма обратной связи, чтобы посетители могли связаться с владельцем сайта. Сейчас этот функционал де факто — должен быть по умолчанию, тем более, если сайт коммерческий.
Итак, рассмотрим простейший пример формы обратной связи. Она будет состоять из полей: Имя, E-mail, Сообщение. Которые посетитель должен будет заполнить для отправки на ваш e-mail.

Функция mail может принимать несколько параметров:

$sended = mail('адрес получателя','тему письма', 'текст сообщения', 'дополнительные параметры');

Для создания формы обратной связи не нужно много кода. Достаточно формы и маленького скрипта обрабатывающего данные. Все это может вместиться в одном файле. Вот пример моего скриптика:

<!DOCTYPE html>
<html>
<meta charset="utf-8">
<head>
    <title>Отправка письма</title>
</head>
<!-- Прописываем стили -->
<style type="text/css">
    body {background: #cfcfcf;}
    .mes {margin:0 auto; width:400px; padding-top: 20px;}
</style>
<body>
<div class="mes">
    <!-- Создаем форму -->
    <h1>Обратная Связь</h1>
    <form action="index.php" method="post">
        Все поля обязательны для заполнения<br>
        <input type="text" name="name" placeholder="*Введите ваше имя" required>
        <input type="email" name="email" placeholder="*Введите ваш e-mail" required><br>
        <p><textarea name="message" rows="5" cols="33" placeholder="*Введите ваше сообщение" required></textarea></p>
        <input type="submit" name="send" value="Отправить">
    </form>

    
<!-- Пишем код отправки -->

<?php 
    //параметры по умолчанию
    $myMail = 'vash@email.com';
    $tema = 'Письмо с сайта';

    // Отслеживаем передачу данных методом POST
    if($_POST['send']){
        //занносим данные в переменные
        $name = htmlspecialchars($_POST['name']);
        $email = htmlspecialchars($_POST['email']);
        $message = htmlspecialchars($_POST['message']);

        //указываем от кого письмо
        $header = "From: ".$email;

        //отправляем письмо
        $sended = mail($myMail, $tema, $message, $header);

        //проверяем, если письмо отправилось, выводим сообщение, если нет, тоже сообщаем об этом
        if($sended){
            echo "Письмо успешно отправленно!";
        }else{
            echo "Письмо не отправилось!";
        }
    }
 ?>
</div>
</body>
</html>

Вот такой небольшой скриптик, скопируйте его себе и проверьте как он работает. Но не забудьте заменить email на свой.

Если вы пользуетесь OpenServer, то все письма хранятся в папке C:\openserver\userdata\temp\email

Дополнительно ознакомьтесь: http://www.php.net/function.mail и https://habrahabr.ru/sandbox/48759/

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *