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

Такая проблема не могу найти откуда она возникает. На сайте добавлена платёжная кнопка Сбера после успешной оплаты происходит переброска на страницу 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 подтверждений не могу понять закономерности и почему так происходит
  • Вопрос задан
  • 100 просмотров
Пригласить эксперта
Ответы на вопрос 2
rozhnev
@rozhnev Куратор тега PHP
Fullstack programmer, DBA, медленно, дорого

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

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

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

Похожие вопросы
27 нояб. 2024, в 13:07
10000 руб./за проект
27 нояб. 2024, в 12:53
70000 руб./за проект
27 нояб. 2024, в 12:50
25000 руб./за проект