PHP

Отправка почты в PHP

PHP. Отправка сообщения по электронной почте.

sqlka.ruОпубликовано: Чтение: 2 мин.
Отправка почты в PHP

PHP. Отправка сообщения по электронной почте

Ниже приведён пример простого обработчика формы обратной связи на PHP. Скрипт принимает данные из POST-запроса, очищает их от потенциально опасных символов и отправляет письмо на заданный адрес. После отправки происходит перенаправление пользователя на главную страницу через 3 секунды.

Код обработчика (например, файл send.php)

<?php
// Получаем данные из формы
$fio    = $_POST['fio'] ?? '';
$email  = $_POST['email'] ?? '';
$phone  = $_POST['phone'] ?? '';
$comment = $_POST['comment'] ?? '';

// Очистка и валидация
$fio    = htmlspecialchars(trim($fio));
$email  = htmlspecialchars(trim($email));
$phone  = htmlspecialchars(trim($phone));
$comment = htmlspecialchars(trim($comment));

// Дополнительная проверка e-mail (необязательно)
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    die('Некорректный e-mail');
}

// Формируем сообщение
$msg = "Телефон: $phone\nФИО: $fio\nE-mail: $email\nСообщение: $comment";

// Кому отправляем
$admin_email = "info@sitename.ru";

// Тема письма
$subject = "Сообщение с сайта от $fio";

// Отправка
if (mail($admin_email, $subject, $msg)) {
    // Успех – перенаправляем через 3 секунды
    print '<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Сообщение отправлено</title>
    <script>
        setTimeout(function() {
            window.location.href = "http://sitename.ru";
        }, 3000);
    </script>
</head>
<body>
    <p>Сообщение успешно отправлено!</p>
    <p>Вы будете перенаправлены на главную через 3 секунды.</p>
</body>
</html>';
    exit;
} else {
    echo 'Ошибка при отправке сообщения. Попробуйте позже.';
}
?>

Пояснения

  • htmlspecialchars() преобразует специальные символы в HTML-сущности, предотвращая XSS-атаки.
  • trim() удаляет пробелы в начале и конце строки.
  • Проверка e-mail через filter_var() помогает отсеять заведомо неверные адреса.
  • В реальных проектах рекомендуется использовать библиотеки для отправки почты (например, PHPMailer, SwiftMailer), так как встроенная функция mail() имеет ограничения и часто блокируется хостингами.

Хотите освоить SQL для работы с данными?

В SQLka можно изучать SQL последовательно или готовиться к собеседованиям. Запросы выполняются прямо в браузере — устанавливать базу данных не нужно.

sqlka.ru

support@sqlka.ru

Дальше по теме

PHP

Получаем список популярных поисковых запросов из Яндекс.Вебмастер через PHP API

Практическое руководство по использованию API Яндекс.Вебрастера на PHP для получения ТОП популярных поисковых запросов по вашим сайтам. Примеры кода, авторизация OAuth, обработка ответов.

sqlka.ruЧтение: 9 мин.
← Все статьи