178

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

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)

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

Виталий Лошков
122

Требуется помощь, консультация, настройка

При выполнении команды конвертации файла в odt из PHP-скрипта: system ("sudo -u root unoconv -f docx file.odt"); время от времени (может раз в день, может раз в неделю) команда перестает работать, при этом ответ от PHP-скрипта никакой не приходит. Лечится...
С помощью соцсетей
У меня нет аккаунта Зарегистрироваться
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
С помощью соцсетей
У меня уже есть аккаунт Войти
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
Инструкции по восстановлению пароля высланы на Ваш адрес электронной почты.
Пожалуйста, укажите email вашего аккаунта
Ваш баланс 10 ТК
1 ТК = 1 ₽
О том, как заработать и потратить Таймкарму, читайте в этой статье
Чтобы потратить Таймкарму, зарегистрируйтесь на нашем сайте