Задвоение отправки писем в чем может быть проблема?

Такая проблема не могу найти откуда она возникает. На сайте добавлена платёжная кнопка Сбера после успешной оплаты происходит переброска на страницу success. На странице скрипт
function sendMail() {
        $.ajax({
            url: 'scripts/order_send.php',
            data: {'id':id, 'status':'ok_pay'},
            type: 'POST',
            cache: false, 
            dataType: 'json',
            error: _orderError,
            success: function(responce) {
                console.log('responce', responce);
                if (responce.code === 'success') {
                    $('#load-gif').hide();
                    localStorage.setItem('cartData', JSON.stringify({}));
                    $('#out-info').text('Спасибо за заказ!');                   
                } else {
                    $('#load-gif').hide();
                    $('#out-info').text('Ошибка отправки письма с подтверждением заказа!');
                }
            },
        });
    }
    // Ошибка отправки
    function _orderError(responce) {
        console.log(responce);
        $('#out-info').html("Ошибка сервера, Сервер перегружен!<br>Ошибка отправки письма с заказом!");       
    }

скрипт оотправки
function sendEmailOrder($cart,$data) {
    $data['title'] = 'Заказ с сайта ' . SITE;
        ob_start();
        include('mail/email.php');
        $body = ob_get_contents();
        $bodyClient = $body;
        ob_end_clean();
    $sendClient = sendMail(array(
        'subject' => 'Ваш заказ с сайта ' . SITE,
        'fromName' => EMAIL_FROM_NAME,
        //'fromEmail' => EMAIL_ADMIN,
        'toEmail' => $data['email'],
        'body' => $bodyClient,
        'dostavka' => $data['dostavka']
    ));
    if (!$sendClient) {
        throw new Exception('Ошибка отправки почты на email клиента');
    }
    ob_start();
        include('mail/email_admin.php');
        $body = ob_get_contents();
    ob_end_clean();
    $sendAdmin = sendMail(array(
        'subject' => 'Новый заказ с сайта ' . SITE,
        'fromName' => EMAIL_FROM_NAME,
        'fromEmail' => EMAIL_ADMIN,
        'toEmail' => EMAIL_ADMIN,
        'body' => $body
    ));
    if (!$sendAdmin) {
        throw new Exception('Ошибка отправки почты на email админа');
    }
}

// Отправка письма PHPMailer
function sendMail($options) {
    // Создаем письмо
    $mail = new PHPMailer();
    $mail->isSMTP();                   
    $mail->Host   = '***********';  
    $mail->SMTPAuth   = true;          
    $mail->Username   = 'info@***********.ru';
    $mail->Password   = '***********';    
    $mail->SMTPSecure = 'ssl';        
    $mail->Port   = 465;               
    $mail->SMTPDebug = 0;
    $mail->CharSet = "UTF-8"; // кодировка заголовков

    $mail->setFrom('info@*****************.ru'); // от кого
    $mail->addAddress($options['fromEmail']); // кому
    $mail->addAddress($options['toEmail']);   // кому
    $mail->addReplyTo($options['fromEmail'],$options['fromname']); 
    
    $mail->isHTML(true);
    $mail->Subject = $options['subject'];  
    $mail->msgHTML($options['body']);
    // Отправляем
    return $mail->send();
}
try {

    // Подключаемся к базе данных
    $conn = connectDB();

    // Получим параметры
    $parameters = getParameters($conn);

    //Подготавливаем данные
    $data = getOneOrder($conn, $parameters);

    //Подготавливаем данные
    $cart = getCarts ($data);

    //Отправляем письмо
    sendEmailOrder($cart,$data);
   
    //Возвращаем успешный ответ
    echo json_encode(array(
        'code' => 'success',
        'id' => $id
    ));
}

catch (Exception $e) {
    // Возвращаем клиенту ответ с ошибкой
    echo json_encode(array(
        'code' => 'error',
        'message' => $e->getMessage()
    ));
}

Ошибка такого характера приходит от 2 до 4 подтверждений не могу понять закономерности и почему так происходит
  • Вопрос задан
  • 96 просмотров
Пригласить эксперта
Ответы на вопрос 2
rozhnev
@rozhnev Куратор тега PHP
Fullstack programmer, DBA, медленно, дорого

пациент: доктор у меня тут болит и тут болит и тут (тыкая пальцем в больные места)
доктор: да у вас, батенька, палец сломан

Может у Вас тоже мышка сломана и кнопка несколько раз нажимается?
Ответ написан
@denisromanenko
Сколько раз браузер дёргает скрипт? Запишите в лог на сервере, посмотрите.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 23:00
5000 руб./за проект
19 апр. 2024, в 20:43
20000 руб./за проект