Отправка почты через mail() в PHP
X
Заказать сайт
Заказать сайт

Отправка почты через mail() в PHP

423432

Чтобы отправить почту любому адресату через PHP, нужно использовать встроенную функцию mail(). Как бы ни казалось простой эта функция. Она всегда может вызывать загвоздки даже у опытных программистов.

Разберем простой пример php формы, где мы будем отправлять письмо с html содержимым на произвольный email.

Сначала построим html форму за счет следующего кода:
<form action="" method="post">
<input type="text" name="name" placeholder="Имя">
<textarea name="msg" placeholder="Сообщение"></textarea>
<input type="submit" name="otprav" value="Отправить">
</form>

В форме два поля name и msg, которые будет передавать пользователь нам на ящик, нажав кнопку Отправить (otprav). Передачу данных обычно делают через метод post. Также стоит обратить внимание на action="". Внутри кавычек ставится путь к php файлу обработчику, который запустится после отправки форму (нажатия на кнопку otprav). Если action пуст, как в примере, то значит php обработчик должен быть в файле с формой.

Теперь после формы создадим php обработчик для отправки письма.

<?php if (isset($_POST["otprav"])) {
$to = "12test16@mail.ru";
$subject = "Письмо с сайта";
$charset = "utf-8";
$headerss ="Content-type: text/html; charset=$charset\r\n";
$headerss.="MIME-Version: 1.0\r\n";
$headerss.="Date: ".date('D, d M Y h:i:s O')."\r\n";
$msg = "Имя: ".$_POST["name"]."\n";$msg .= "Сообщение: ".$_POST["msg"]."\n";
mail($to, $subject, $msg, $headerss);
print "<script>alert(\"Сообщение успешно отправлено!\");window.location = window.location.href</script>";
}

Разберем код подробнее.
$to - куда отправить письмо;
$subject - тема письма
$charset - кодировка вашего сайта/страницы
$headerss - технический заголовок письма, в котором есть запись text/html, которая означает, что в письмо пользователь может добавлять html теги. Чтобы отключить эту возможность замените на text/plain.
$msg - формируем текст сообщения для отправки
mail... - собирает все введенные данные и отправляет их адресату
print... - после отправки страницы обновляет ее и выдает сообщение, что отправка завершена.

Из этого примера, думаю вам станет понятнее, как создавать простые формы на отправку писем. Кстати, здесь не используются параметры from (от кого письмо). Так как многие хостинги отключают эту возможность намеренно.

| | Отправка почты через mail() в PHP | Чтобы отправить почту любому адресату через PHP, нужно использовать встроенную функцию mail(). Как бы ни казалось простой эта функция. Она всегда може | https://blogprogram.ru/wp-content/uploads/2016/09/423432-131x131.jpg