1161

Проблема с отправкой почтовой формы

0 ответов

Доброго времени суток. Столкнулся со следующей проблемой - есть небольшой лэндинг на html, в котором есть форма отправки данных на почту gmail.  Для отправки формы используется небольшой php код

<?php
    if ($_SERVER['REQUEST_METHOD']=='POST' && isset($_POST['b_submit'])) {
        $name =$_POST['b_name'];
        $email = $_POST['b_email'];
        $message = $_POST['b_mess'];
        $subject  = iconv ("UTF-8", "CP1251", "Обратная форма связи с сайта");
        $to = 'mymail@gmail.com';
        $body = iconv ("UTF-8", "CP1251", "Сообщение: $message");
        if ($_POST['b_submit']) {
            if ($name != '' && $email != '') {
                if (!preg_match("|^([a-z0-9_\.\-]{1,20})@([a-z0-9\.\-]{1,20})\.([a-z]{2,4})|is", strtolower($email))) {
                    echo '<h5>Ошибка, проверьте правильность e-mail!</h5>';
                } else if (mail ($to, $subject, $body, $email)) {
                    echo '<h5>Спасибо, Ваше сообщение отправлено!</h5>
                        <script language="JavaScript" type="text/javascript">
                            function changeurl(){eval(self.location="/");}
                            window.setTimeout("changeurl();",4000);
                        </script>
                        ';
                } else {
                    echo '<h5>Ошибка, проверьте правильность заполненных полей!</h5>';
                }
            } else {
                echo '<h5>Пожалуйста, заполните все поля!!</h5>';
            }
        }
    }
?>

По логике, на почту должно приходить письмо, в графе от кого указываться должен электронный адрес, который пользователь вводит в поле b_email (менеджерская хотелка, что бы можно было быстрее отвечать непосредственно сразу на письмо, без лишних копипастов текста электронки). Но, прогнозированно, письмо попадает в спам, т.к. приходит по-факту от системного адреса, по типу cc85102@vh166.timeweb.ru. В техподдержке посоветовали в mail ($to, $subject, $body, $email) к имейлу добавить ключ -f, но записи типа mail($to, $subject, $body, '-f' . $email) или mail($to, $subject, $body, "-f$email"), но приходят сообщения в спам опять от системного адреса, при этом адрес указываемый пользователем выводится просто с -f как текстом самой электронки.

Подскажите, пожалуйста, как можно решить эту проблему? В некоторых источниках писали, что для подобных вещей нужны дополнительные TXT, SPF записи для домена, или электронку всё равно не подставишь подобным образом?

Ответы (0)

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

Артур
350

Не могу обновиться с версии Joomla 3.9.27 на 3.10.11 и сменить версию PHP 7.4 на 8.0

1 вопрос: Скачал файлы через VPN, пробую через консоль. Выдаёт при загрузке ошибку "500". Никак не могу обновить сайт. Пакеты есть, а сайт не хочет их принять. 2-й вопрос:  Сайт просит сменить версию PHP c 7.4 на 8.0 и выше. Но...
Максим
403

Съезжает картинка, прошу помощи.

Здравствуйте, проблема с сайтом. После редактирования документа PHP, появилась проблема с корректным отображением карты ТЦ.  Проблемный 1й этаж. Но после перехода между разными этажами всё становится номально. <div><img class="image"...

mail && ns IN DNS (читал все справки, прежде чем)

Здравствуйте, Вопрос про прописать свой почтовый mail  и свой  ns в ДНС  timeweb. И blog Мне на днях прищемили titov.tk окончательно, регистратор отключил ДНС. dig +short titov.tk 146.66.174.166 Вот хочу попробовать сменить...
Ваш баланс 10 ТК
1 ТК = 1 ₽
О том, как заработать и потратить Таймкарму, читайте в этой статье
Чтобы потратить Таймкарму, зарегистрируйтесь на нашем сайте
С помощью соцсетей
У меня нет аккаунта Зарегистрироваться
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
С помощью соцсетей
У меня уже есть аккаунт Войти
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
Инструкции по восстановлению пароля высланы на Ваш адрес электронной почты.
Пожалуйста, укажите email вашего аккаунта
Войти в Комьюнити
Регистрация в Комьюнити
Восстановление пароля