Задать вопрос
@redesupar

Отправка веб-формы через custom_mail битрикс?

Здравствуйте! Помогите пожалуйста решить проблему с отправкой почты через веб-формы.
Есть функция custom_mail, через него отправляются все почты и вполне себе очень хорошо. Но почему то именно почтовые события которые привязаны к веб-формам не отправляются, как только удаляю данную функцию, то через веб-форму все работает, а остальное нет.
Сам код
function custom_mail($to, $subject, $message, $additional_headers, $additional_parameters) {
    /** @bxnolanginspection */
    include_once($_SERVER['DOCUMENT_ROOT'] . '/bitrix/php_interface/class/PHPMailer/PHPMailerAutoload.php');
    if (getenv('APPLICATION_ENV') === 'development') {
        $mail = configurePHPMailer(
            'localhost',
            1025
        );
        Debug::writeToFile('MailHog', __FILE__ . '!!!', '/odegov.log');
    }
    else {
        $mail = configurePHPMailer('mail.site.ru', 465);
    }

    $toArray = explode(',', $to);
    foreach ($toArray as $t) {
        $mail->AddAddress(trim($t));
    }

    if (!empty($additional_parameters) && mb_strpos($additional_parameters, 'BEGIN:VCALENDAR') !== false) {
        $mail->AddStringAttachment($additional_parameters, 'Добавить событие в календарь.ics', 'base64',
            'text/calendar; charset=utf-8; method=REQUEST');
    }

    /* 2018-05-03 добавление обработки для полей BCC, CC */
    preg_match_all('/(.+): (.+)\n/i', $additional_headers . "\r\n", $matches);
    if (is_array($matches[1]) && is_array($matches[2])) {
        foreach ($matches[1] as $key => $param) {
            $upper = strtoupper($param);
            $value = trim($matches[2][$key]);
            if ($upper === 'BCC') {
                foreach (explode(',', $value) as $item) {
                    $mail->addBCC($item);
                }
            }
            else if ($upper === 'CC') {
                foreach (explode(',', $value) as $item) {
                    $mail->addCC($item);
                }
            }
        }
    }
    AddMessage2Log(
        'body: ' . $message . PHP_EOL
    );
    $mail->CharSet = 'UTF-8';
    $mail->Subject = $subject;
    $mail->Body = $message;
    $mail->Sender = 'web@site.ru';
    $mail->FromName = 'Заголовок';
    $mail->From = 'web@site.ru';

    $headers = explode("\n", $additional_headers);
    $attachHeader = 'Content-Type: multipart/mixed; boundary=';
    $alternateHeader = 'Content-Type: multipart/alternative; boundary=';
    foreach ($headers as $h) {
        if (stripos($h, $attachHeader) === 0) {
            $bndr = substr($h, strlen($attachHeader));
            $bndr = trim($bndr, '"');
            $mail->ContentType = 'multipart/mixed; boundary="' . $bndr . '"';
        }
        elseif (stripos($h, $alternateHeader) === 0) {
            Mail::processingMessage($mail);
        }
    }
    if (!$result = $mail->Send()) {
        AddMessage2Log(
            'Ошибка отправки: ' . $mail->ErrorInfo . PHP_EOL
        );


        $mail = configurePHPMailer('mail2.site.ru', 465, $mail);
        $result = $mail->Send();
        if (!$result) {
            AddMessage2Log(
                'Ошибка отправки2: ' . $mail->ErrorInfo . PHP_EOL

            );
        }
    }

    return $result;
}


через sql стоят SUCCESS_EXEC F
Вот что показывает C_FIELDS
a:24:{s:10:"RS_FORM_ID";s:1:"8";s:12:"RS_FORM_NAME";s:55:"Получить доступ к видеозаписи";s:15:"RS_FORM_VARNAME";s:10:"get_videos";s:11:"RS_FORM_SID";s:10:"get_videos";s:12:"RS_RESULT_ID";s:3:"526";s:14:"RS_DATE_CREATE";s:19:"01.11.2023 21:40:21";s:10:"RS_USER_ID";s:35:"не зарегистрирован";s:13:"RS_USER_EMAIL";s:0:"";s:12:"RS_USER_NAME";s:0:"";s:12:"RS_USER_AUTH";s:0:"";s:16:"RS_STAT_GUEST_ID";s:7:"7046368";s:18:"RS_STAT_SESSION_ID";s:7:"8433581";s:9:"PAGE_FROM";s:164:"Страница от куда поступил запрос: https://site.ru/press-centr/videos/elektronnaya-podpis-osobennosti-i-preimushchestva-ispolzovaniya/";s:13:"PAGE_FROM_RAW";s:102:"https://site.ru/press-centr/videos/elektronnaya-podpis-osobennosti-i-preimushchestva-ispolzovaniya/";s:4:"NAME";s:35:"Ваше ФИО: фывфывфыв";s:8:"NAME_RAW";s:18:"фывфывфыв";s:5:"EMAIL";s:68:"E-mail: <a href="mailto:redesupar@gmail.com">redesupar@gmail.com</a>";s:9:"EMAIL_RAW";s:19:"redesupar@gmail.com";s:5:"PHONE";s:24:"Телефон: 12312312";s:9:"PHONE_RAW";s:8:"12312312";s:7:"COMPANY";s:36:"Компания: фывфывфыв";s:11:"COMPANY_RAW";s:18:"фывфывфыв";s:10:"VIDEO_LINK";s:180:"Ссылка на видео: https://site.ru/press-centr/videos/elektronnaya-podpis-osobennosti-i-preimushchestva-ispolzovaniya/?invite=fc954eaecaa13fa25321d19da7395fc634899e26";s:14:"VIDEO_LINK_RAW";s:150:"https://site.ru/press-centr/videos/elektronnaya-podpis-osobennosti-i-preimushchestva-ispolzovaniya/?invite=fc954eaecaa13fa25321d19da7395fc634899e26";}


Сам почтовый шаблон такой
65429dcfbc462361396134.png
  • Вопрос задан
  • 206 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

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

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