• Регистрация на форуме отключена.
    Она будет открываться первого числа каждого месяца на 24 часа.

    Если необходимо - пишите админу группы Dev-CS в Telegram-чате.

php js html Обратная связь. Сообщение с формы сайта на Почту.

Сообщения
119
Реакции
52
Помог
4 раз(а)
Всем привет работяги. Прошу вашей помощи.

У меня есть форма обратной связи с сайта но она работает со сбоями.
Конкретно очень редко отсылает сообщения на почту из формы.
В консоли сайта ошибок нету.

Если есть время буду рад услышать полезные советы по решению данной проблемы.

HTML:
     <form style="display: flex;">

        <!-- Hidden Required Fields -->
        <input type="hidden" name="project_name" value='dromanov.ru'>
        <input type="hidden" name="admin_email" value='[email protected]'>
        <input type="hidden" name="form_subject" value='Клиент'>
        <!-- END Hidden Required Fields -->

        <input type="text" name="Name" placeholder="You name..." required><br>
        <!-- <input type="text" name="E-mail" placeholder="You E-mail..." required><br> -->
        <input type="text" name="Phone" placeholder="You phone..."><br>
        <button>Send</button>

    </form>
    
    <script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
JavaScript:
    $(document).ready(function() {

    //E-mail Ajax Send
    $("form").submit(function() { //Change
        var th = $(this);
        $.ajax({
            type: "POST",
            url: "mail.php", //Change
            data: th.serialize()
        }).done(function() {
            alert("Thank you!");
            setTimeout(function() {
                // Done Functions
                th.trigger("reset");
            }, 1000);
        });
        return false;
    });

});
PHP:
<?php

$method = $_SERVER['REQUEST_METHOD'];

//Script Foreach
$c = true;
if ( $method === 'POST' ) {

    $project_name = trim($_POST["project_name"]);
    $admin_email  = trim($_POST["admin_email"]);
    $form_subject = trim($_POST["form_subject"]);

    foreach ( $_POST as $key => $value ) {
        if ( $value != "" && $key != "project_name" && $key != "admin_email" && $key != "form_subject" ) {
            $message .= "
            " . ( ($c = !$c) ? '<tr>':'<tr style="background-color: #f8f8f8;">' ) . "
                <td style='padding: 10px; border: #e9e9e9 1px solid;'><b>$key</b></td>
                <td style='padding: 10px; border: #e9e9e9 1px solid;'>$value</td>
            </tr>
            ";
        }
    }
} else if ( $method === 'GET' ) {

    $project_name = trim($_GET["project_name"]);
    $admin_email  = trim($_GET["admin_email"]);
    $form_subject = trim($_GET["form_subject"]);

    foreach ( $_GET as $key => $value ) {
        if ( $value != "" && $key != "project_name" && $key != "admin_email" && $key != "form_subject" ) {
            $message .= "
            " . ( ($c = !$c) ? '<tr>':'<tr style="background-color: #f8f8f8;">' ) . "
                <td style='padding: 10px; border: #e9e9e9 1px solid;'><b>$key</b></td>
                <td style='padding: 10px; border: #e9e9e9 1px solid;'>$value</td>
            </tr>
            ";
        }
    }
}

$message = "<table style='width: 100%;'>$message</table>";

function adopt($text) {
    return '=?UTF-8?B?'.Base64_encode($text).'?=';
}

$headers = "MIME-Version: 1.0" . PHP_EOL .
"Content-Type: text/html; charset=utf-8" . PHP_EOL .
'From: '.adopt($project_name).' <'.$admin_email.'>' . PHP_EOL .
'Reply-To: '.$admin_email.'' . PHP_EOL;

mail($admin_email, adopt($form_subject), $message, $headers );
 
В этой теме было размещено решение! Перейти к решению.

RockTheStreet

Токсик))))
Сообщения
1,092
Реакции
226
Предупреждения
18
Помог
23 раз(а)
Сообщения
955
Реакции
1,162
Помог
52 раз(а)
Проверить сертификаты на серваке при отправке, гуглопочта часто отфильтровывает невалидку
 
Сообщения
119
Реакции
52
Помог
4 раз(а)
RockTheStreet, старые логи с ошибками удалил ибо были другие ошибки(при разработке). Буду смотреть. На данный момент ошибок нету в логах а форма всё так же ведёт себя неадекватно. Про консоль в браузере там всё чисто.
21 Апр 2021
@Sonyx,Да ещё заметил часть сообщений в спаме. И надписи мол письмо не безопасно.
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу