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

Как отправить форму на почту с помощью PHP?

Добрый день. Есть форма, к ней написан PHP файл, который должен отправлять форму мне на почту. Но этого почему-то не происходит. Форма размещена на хостинге timeweb.ru, доменная почта там тоже есть. Отправку через нее делаю, но все без результатов. Подскажите, пожалуйста, в чем моя ошибка? Или это проблемы на стороне timeweb?
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <form action="send.php" method="post">
        <input type="text" name="fio" placeholder="Укажите ФИО">
        <input type="text" name="email" placeholder="Укажите e-mail">
        <input type="submit" value="Отправить">
    </form>
</body>
</html>

<?php
$fio = $_POST['fio'];
$email = $_POST['email'];
$fio = htmlspecialchars($fio);
$email = htmlspecialchars($email);
$fio = urldecode($fio);
$email = urldecode($email);
$fio = trim($fio);
$email = trim($email);
echo $fio;
echo "<br>";
echo $email;
if (mail("мойemail@gmail.com", "Заказ с сайта", "ФИО:".$fio.". E-mail: ".$email ,"From: test@пневмокод.рф \r\n"))
 {
    echo "сообщение успешно отправлено";
} else {
    echo "при отправке сообщения возникли ошибки";
}


Ошибку не выдает при отправке формы, пишет, что все хорошо.
  • Вопрос задан
  • 416 просмотров
Подписаться 2 Простой 1 комментарий
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
PHP файл, который должен отправлять форму мне на почту.
Не должен, должен передать в очередь отправки. Дальше система сама решает что делать.

Подскажите, пожалуйста, в чем моя ошибка?
Использование внутренней функции mail() оправдано только в случае если это полностью контролируемый и настроенный вами сервер.

Используйте phpmailer/swiftmailer.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
r3n0
@r3n0
// _ AppSec // Bug Bounty / Legal Hacking
Привет.

Форма размещена на хостинге timeweb.ru, доменная почта там тоже есть. Отправку через нее делаю, но все без результатов.

У Таймвэб на тестовых аккаунтах отключена функция отправки почты по понятным причинам — это раз. Два — вы пишете про функцию mail(), а не про доменную почту. Три — сам код обработчика, мягко говоря, выглядит странно. Четыре — кириллистические домены стоит записывать в формате punycode (вот тут есть конвертер).
Ответ написан
Ваш ответ на вопрос

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

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