Bitrix24 рассылка email отправляется с ошибкой

Частые ошибки при формировании рассылок и их решение


В этой статье пойдет речь об инструменте email-рассылок внутри Битрикс24.

Для чего нужны рассылки, какие у них преимущества и недостатки можно прочитать в отдельной статье.

Здесь же расскажем:

  • Почему письма из портала не уходят?
  • По какой причине вся рассылка попала в спам и в статистике много ошибок отправки?
  • Чем поможет отдельный протокол SMTP для рассылок? 

Рассылка зависла на статусе «Отправляется»

После создания рассылки с учетом рекомендаций по содержанию и оформлению вы нажимаете кнопку «Отправить» и ждете, когда же она уйдет. Проходит пара минут, счетчик отправки замирает – число ушедших с портала писем больше не увеличивается. Напротив статуса отправки появилась красная метка с текстом:

Достигнуто максимальное количество отправок за день. Отправка продолжится завтра.


На всех тарифах, предусматривающих email-рассылки, установлено ограничение на общее число отправленных писем в месяц. Это касается любого электронного сообщения, которое уходит из вашего портала. Это может быть письмо менеджера клиенту через интеграцию с его почтой или письмо из рассылки. Фиксируется также ежедневный лимит, при достижении которого рассылка останавливается.

Решение:

Решить проблему с ограничением дневного лимита на рассылки из Битрикс24 можно двумя способами:

  1. Использовать коробочную версию системы – рассылки не лимитированы.
  2. Делать качественные рассылки для ваших клиентов, используя проверенную легальную базу клиентов.

Если с первым пунктом все ясно, но не все готовы к нему прибегнуть, то по второму пункту поясним. При первом использовании сервиса рассылок Битрикс24 вам устанавливается
ограничение на отправку — 1000 писем в день. Далее, если вы продолжите регулярные рассылки на сегмент, размером более 1000 получателей с хорошим откликом – лимит будет расширяться автоматически. На что вам придет вот такое уведомление в портале:

Приведем пример. Вы приобрели облачный тариф CRM+, который предполагает 35 тыс. отправок писем в месяц. Решили сделать свою первую рассылку из модуля CRM-маркетинг. Собрали шаблон, не забыли вставить блок с отпиской, протестировали и запустили. При этом выбрали сегмент из 8 тыс. получателей.

Что произойдет после нажатия кнопки «Отправить»? С вашего портала в первый день уйдет только 1000 писем. На второй день вам расширят лимит, и отправится еще 2000 писем, на третий вам дадут еще дополнительную тысячу к дневному лимиту.

Таким образом, ваша рассылка растянется на несколько дней. Напомним, лимит расширится только в том случае, если ваши получатели массово не буду жаловаться на вас, как на спам-рассылку. В следующий раз, например, через неделю, вы захотите повторить отправку на тот же сегмент. С учетом того, что ваш дневной лимит расширится до 8 000 – письмо дойдет до получателя в тот же день без задержек.

Используйте сегмент доверенных получателей. Отправляйте им целевые предложения с соблюдением всех рекомендаций по оформлению email-писем. Ограничение на дневной лимит снимется автоматически после серии отправок. 

Большое число писем, которые отправлены с ошибкой

Самый частый сценарий при отправке email из модуля CRM-маркетинг: письма с портала ушли не все, в статистике рассылки большое число отправок с ошибкой.

Какие могут быть причины неудачной рассылки и почему так много писем со статусом «Ошибка отправки»:

  1. Вы использовали сегмент получателей с неподтвержденным email-адресом или старую базу, адресаты или домены в которой уже не существуют.
  2. Почтовый ящик получателя переполнен и больше не принимает никакие сообщения.
  3. Почтовый сервис получателя или адресат посчитал вашу рассылку спамом и запретил приемку письма от вас.
  4. Вас заблокировал сервис отправки писем, т.к. вы превысили разрешенный им лимит или иные условия массовой рассылки – проблема заключается в блокировке писем используемым вами протоколом SMTP.

Решение:

При следующей отправке исключите из сегмента вашей рассылки адресаты, чьи ящики более не существуют или переполнены. Актуальность (валидность) email-адресов получателей проверяется с помощью специальных сервисов, например:

  • MailboxValidator
  • MailValidator
  • ZeroBounce
  • QuickEmailVerification

Чтобы решить проблему классификации вашей рассылки как спам, уделите внимание ее содержимому. Проверьте письмо перед отправкой с помощью таких сервисов, как:

  • Mail-tester
  • SendForensics
  • GlockApps

Убедитесь также, что ваш IP и домен не попали в базу черных отправителей (в блэклист) с помощью доступных ресурсов. Используйте для этого:

  • Mail-tester
  • MxToolBox
  • GlockApps

Устраните замечания, которые получили в ходе проверок на специализированных ресурсах по тестированию своей email-отправки, чтобы сократить количество ошибок.

О блокировке писем сервисом отправки и путях решения проблемы расскажем подробно далее. 

Зачем использовать отдельный SMTP для email-рассылок?

При отправке писем через Битрикс24 из модуля CRM-маркетинг используйте отдельный ящик отправителя, созданный специально для ваших рассылок. Он должен быть подключен к порталу с использованием одного из двух способов:

  1. С указанием внешнего SMTP-сервера для отправки писем: арендованного или созданного самостоятельно.
  2. Без использования отдельного протокола: по умолчанию рассылка пойдет с серверов Битрикс24.

Если предполагается отправка большого объема писем, то Битрикс24 рекомендует использовать внешний SMTP-сервер с профессиональной настройкой рассылок. Так статистика доставки ваших email будет всегда высокой.

При выборе внешнего SMTP учитывайте лимиты на отправку писем.

Для своих рассылок мы используем SendPulse:

Использование арендованного SMTP для писем удобно для просмотра расширенной статистики причин ошибок доставки.

Отправляйте письма через модуль CRM-маркетинг из своего портала Битрикс24 с применением тех параметров, которые подходят для вашей тематики сообщений, количества адресатов и частоты рассылок. 

Чек-лист для успешной отправки email рассылок

Для результативных email-рассылок из Битрикс24 ориентируйтесь на наш чек-лист из пяти пунктов:

  1. Используйте проверенные «честные» адреса получателей.
  2. Сегментируйте базу для точечной отправки полезных материалов рассылки.
  3. Анализируйте содержимое письма, придерживайтесь общих требований по оформлению рассылки. Протестируйте шаблон на специальных сервисах перед отправкой.
  4. Проверьте адрес отправителя и домен в черных списках.
  5. При больших объемах отправляемых писем используйте отдельный ящик, подключенный через внешний SMTP. 


За помощью по настройке рассылок из Битрикс24 и подключением внешнего SMTP обращайтесь через форму ниже или по телефону
+7 (495) 118-39-18.

Вас также может заинтересовать:

Почему рассылки попадают в спам и как это определить?

Делаем рассылку и вдруг видим картину, когда почти все письма попали в ошибку:

письма в спаме

Ошибка означает, что письма не отправлены (принимающий сервер отказал в рассылке, посчитал её спамом), либо данные адреса добавлены в чёрный список в настройках Битрикс24

Также заходим в ящик и смотрим новые письма, скорее всего письма с ошибками попадут в спам. В теле письма будет подсказка что именно не так.

Такое случается, если для рассылок мы попытаемся использовать сервера @yandex.ru @gmail.ru или других бесплатных почтовых сервисов. В данном случае домен почты был собственный, однако рассылка велась через яндекс коннект (бывший yandex pdd хостинг для почты). Попытка писать в поддержку ни к чему не приведёт, вот выдержка из письма:

ответ от яндекс

Можно схитрить и начать отправлять через сервера Bitrix24, однако письма будут попадать в Спам, т.к. нельзя прописать DKIM и SFP.

ошибки шифрования через битрикс 24

Что сделать, чтобы почта не попадала в спам?

Надо подключить smtp-сервер, который будет корректно отправлять почту получателям, и не будет заворачивать наши письма. Собственный smtp сервер не подойдёт, т.к. он будет иметь малый рейтинг и скорее всего его быстро забанят, а это чревато остановкой хождения всей корпоративной почты.

Как подключить свой SMTP-сервер для рассылок в Битрикс24?

Делает это просто. Создаём необходимую рассылку, в ней переходим Рассылка Дополнительно Отправитель Добавить адрес Данные smtp-сервера

подключение smtp для рассылок в Битрикс24

Будем использовать услугу SMTP-сервера от Unisender go1.unisender.ru Это один из русскоязычных ресурсов, имеющий быструю техподдержку и приемлемые цены. Отправка 10т. писем начинается от 600 рублей и ниже. Также можно оплачивать не только электронными деньгами, но и выставлять счёт для организации.

Регистрируемся в системе, оплачиваем тарифный план для smtp-сервера. Бесплатный тариф бесполезен, т.к. можно отправлять только на адреса своего домена.

регистрация go unisender

Рекомендуем для рассылок завести отдельный ящик, это позволит создавать отдельные правила и убережёт служебные письма из црм, от чёрного списка пользователей.

Как корректно настроить SPF & DKIM записи?

Данные записи имеют очень большое значение для корректности отправки

SPF — явно указывает с каких smtp серверов разрешена рассылка почты вашего домена

DKIM — добавляет ключ шифрования для проверки отправителя

Если вы будете рассылать только через SMTP сервис sendpulse пишем в днс txt запись с указанными настройками. Если будет использоваться еще и сервер Яндекс, необходимо прописать «v=spf1 include:include:spf.unisender.com include:_spf.yandex.net ~all»

DKIM запись сначала надо сгенерировать,

Инструменты / Домены отправки

Добавляем домен, с которого будет идти рассылка, далее полученный ключ прописываем в днс нашего домена.

записи днс для smtp Сервера

После всех манипуляций необходимо убедится в корректности записей. Тамже можно проверить.

подтверждение DKIM и SFP записей

Какие данные вписывать для доступа к SMTP серверу?

Сервер: smtp.go1.unisender.ru или smtp.go2.unisender.ru (go1 IP РФ, go2 европа)

Порт: port: 25, 465 или 587 и только по зашифрованному TLS соединению с рекомендуемой версией 1.2 или выше. Мы не поддерживаем ни открытые SMTP соединения на стандартном порту 25, ни шифрованные SSL-соединения по соображениям безопасности. Поддержка TLS версий 1.0 и 1.1 прекращена в середине 2021 года.

Логин: ID из верхнего левого угла цифры под учеткой. (либо project_id (его можно узнать из списка проектов или с помощью методов project/create, project/list).

Пароль: Учётная запись / Безопансть / API ключ

Отправляем проверочное письмо, смотрим как оно пришло. Если всё корректно запускаем рассылку в Битрикс 24

Должно стать вот так:

рассылка успешно отправлена

Также есть и другие сервисы, например SMTP.BZ

Цитата
Мария Агопшук написал:
При проведении рассылки с Битрикс 24 сразу появляется «Ошибка» в колонке «Статус» рассылки.
Почему это происходит и как исправить?

Мария Агопшук, здравствуйте

Прошу скрин из раздела Рассылки с номером рассылки и скрин из ЛК Юнисендер со статусом по конкретной рассылке.

Давайте сверим ушла ли рассылка.

Статус ошибка обычно формируется, когда на стороне ЛК Юнисендер есть проблемы с отправкой рассылки, например, сервис заблокировал из за того, что у Вас есть проблемы с базой при проведении рассылки, например, процент отправки в конкретной рассылке в спам больше 1 процента.

В любом случае полезно сидеть в обоих кабинетах- в Б24 и в ЛК Юнисендер, поскольку хотя бы потому, что в ЛК Юнисендер больше аналитики по рассылке.

Была следующая проблема:
Коробка Б24, внутри неё у пользователей настроен доступ к персональным почтовым ящикам через раздел «Почта».

-Письма от портала (Уведомления и Проверка системы) ходят нормально, цепляются настройки из /home/bitrix/.msmtprc
-Письма  от имени персональных ящиков пользователей (из CRM или из раздела  Почта) не отправляются, т.к. подключаемся к SMTP через настройки из  .msmtprc, а отправителем ставим адрес пользователя, соответственно  яндекс ругается «not owned by authorized user».

Спасибо всем, отписавшимся выше, и отдельно А.Долганину. Благодаря вам пришёл к следующему решению:
В init.php прописываем следующий код:

Код
function custom_mail($to, $subject, $message, $additional_headers='', $additional_parameters=''){
   global $DB;
   if (preg_match('/^From:.*?(?<email>[^<>@n ]+@[^<>@n ]+)/mi', $additional_headers, $matches)) {
      $fr om = $matches['email'];
      // выбор соответствующих адресу отправителя параметров
      $query = 'SEL ECT box.`NAME`, box.`LOGIN`, box.`PASSWORD`, box.`EMAIL` FR OM b_mail_mailbox as box WH ERE box.`EMAIL`="' . $from . '"';
      $res = $DB->Query($query);
      if ($arMail = $res->Fetch()) {
         BitrixMainLoader::includeModule('mail');
         $password = CMailUtil::Decrypt($arMail['PASSWORD']);
         $additional_parameters .= ' --auth=login --from="' . $arMail['EMAIL'] . '" --user="' . $arMail['NAME'] . '" --passwordeval="echo ' . $password . '"';
      }
   }
   if ($additional_parameters!='') {
      $result = @mail($to, $subject, $message, $additional_headers, $additional_parameters);
   } else {
      $result = @mail($to, $subject, $message, $additional_headers);
   }
   return $result;
}

Здесь мы выцепляем регуляркой значение заголовка From, находим в таблице b_mail_mailbox эту учётку и подставляем её данные в параметры командной строки для msmtp. Костыль работает, но есть некоторые особенности:

-в файле .msmtprc пароль для учётки тоже должен быть задан через passwordeval (не через password), иначе он не подменяется и msmtp пытается авторизоваться под учёткой из командной строки с паролем из файла настроек

-это будет корректно работать только если у всех пользователей и у портала один и тот же smtp-сервер, в моём случае это яндекс. Если у пользователей почты на разных серверах, то метод надо совершенствовать, например добавить в .msmtprc учётки других сервисов, в запросе джойнить таблицу b_mail_mailservices, определять из неё сервис и в параметры командной строки добавлять выбор нужной учётки.

Проверяем настройки почтового события веб-формы и связанные шаблоны

Давайте перейдем по пути Панель управления -> Настройки -> Настройки продукта -> Почтовые события и выберем событие.

1. На первой вкладке галочки кодов языка включены?
2. На вкладке «Шаблоны» галочка имени сайта включена?
3. Почтовый шаблон активен?
4. Поле «От кого» заполнено верно (по умолчанию #DEFAULT_EMAIL_FROM#) ?
5. Поле «Кому» заполнено верно (по умолчанию #EMAIL#) ?

Все верно? Смотрим дальше. В настройках модуля веб-формы отключите галочку «использовать упрощенный режим». Перейдите в настройки формы на вкладку «дополнительно» и проверьте, включен ли флаг привязки к почтовому шаблону. Готово?

Перейдите по адресу Настройки -> Инструменты -> SQL-запрос и выполните такой запрос:

SQL:

select * from b_event where event_name like '%form%' order by date_insert desc

Найдя событие выполнения формы, просмотрите поле SUCCESS_EXEC. Если видите «Y», то письмо из продукта ушло, и вам следует отправить запрос в техподдержку хостинга. Если видите «N», то перейдите в файл

/bitrix/php_interface/dbconn.php

и проверьте, определены ли 2 переменные: BX_CRONTAB и BX_CRONTAB_SUPPORT. Если да, то отмените определение.

Повторите SQL-запрос и снова просмотрите поле SUCCESS_EXEC. Если снова видите «N», очистите кэш в папке /bitrix/managed_cache/ через модуль управления структурой. Ни в коем случае ни через FTP! Если модуль выдаст ошибку, исправьте права доступа к папкам.

Если же значение «F», то функция mail() вернула значение False при отправке. Почему так бывает:

1. Не настроена функция mail() на хостинге. Обратитесь в техподдержку хостера.
2. Почтовый сервер не поддерживает формат письма.
Попробуйте изменять настройки отправки, убирать поле ВСС, убирать галочку «Дублировать email адрес в заголовке», ставить «Конвертировать 8-битные заголовки». Если не поможет, запросите у администратора логи почтового сервера.
Наконец, если в поле «0», вернитесь к началу, настройкам почтовых событий, и проверьте заново.
источник

В этой статье мы расскажем вам о том, где смотреть причины ошибки неотправленной почты в Битриксе. Рассмотрим три основных мест, откуда можно найти ошибку отправки писем.

Проверка таблицы очереди писем

Идем в административную панель Битрикса по пути: Настройки / Производительность / Таблицы. Ищем таблицу b_event и проваливаемся по ссылке.

Именно в эту таблицу попадают письма с сайта в очередь, а затем отправляются на хитах или на агентах.

Почему не отправляются письма с сайта?

На открывшейся странице можем отыскать сообщение, которое не отправилось. Проматываем в самый конец к колонке SUCCESS_EXEC – это колонка записывает состояние отправки письма.

Почему не отправляются письма с сайта?

Варианты статуса отправки (SUCCESS_EXEC):

Y – означает, что письмо было успешно отправлено

N – говорит о том, что событие еще не обработано и письмо не отправлено. В этом случае стоит полную проверку сайта и проверить настройки dbconn.php. Проверить корректность настройки почтовых шаблонов и их привязки к сайтам.

F – сообщение не было отправлено. Необходимо проверить логи сервера или хостинга.

0 – не активен или отсутствует почтовый шаблон (Настройки / Настройки продукта / Почтовые шаблоны)

Проверка системы

Проверка системы расположена на странице Настройки / Инструменты / Проверка системы. В проверке уже встроен инструмент, который проверяет возможность отправки письма с помощью стандартной PHP функции mail. Этаки быстрый проверяльщик работы почты.

Почему не отправляются письма с сайта?

Если здесь уже возникает ошибка, то проблему стоит идти смотреть в логи сервера.

Проверка логов сервера

Если ошибка ошибка идет глубже и у вас VM Bitrix, идем в консоль сервера по пути /home/bitrix/ и ищем логи с префиксом .msmtp_ (по умолчанию). Смотрим и ловим ошибки в этом файле. Логи лучше просматривать с помощью утилиты mc.

Сама конфигурация почтовых настроек расположена в файле /home/bitrix/.msmtrpc

Если письма в Битриксе отмечены как успешно отправленные, но письмо не пришло и в логах отсутствует какая-либо информация – следует обратить внимание на логи в /var/log/. Там отобразится ошибка, которая возвращается функцией mail.

Проверить возможность отправки также можно с помощью консольных команд (но в данном случае будет использоваться отправитель по умолчанию – default)

> php -a
> mail('test@example.com', "Test", "Test message");
> exit

Если произойдет ошибка при отправке, то сообщение будет у вас на экране.

Ошибки

Частая ошибка – это когда в письмах отправителем указан адрес отличимый от названия аккаунта (поле FROM). Поэтому задайте в настройках сайта нужный адрес или в почтовых шаблонах в поле «От кого». В этом случае, если требуется, чтобы человек мог ответить на другую почту, то можете указать электронную почту в качестве обратного адреса в почтовом шаблоне.

Другая ошибка – это отсутствие настроек для отправителя по умолчанию. Необходимо внести корректные настройки адреса отправителя (указать tsl, метод авторизации и т.п.)

Почему не отправляются письма с сайта?

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

Приветствую читателей thisis-blog.ru!

В сегодняшней статье хочу рассказать об основных проблемах с почтой в CMS 1с-Битрикс.
Порой до адресата не доходят письма и нужно понять, а отправляются ли они вообще? А может они были отправлены, но возникли, какие-то другие ошибки. Так что же делать в таких ситуациях?

Проверить отправляются ли письма

Для проверки достаточно на любой страничке написать следующий php код:

$mail="[email protected]"; // ваша почта
$subject ="Test" ; // тема письма
$text= "Line 1nLine 2nLine 3"; // текст письма
if( mail($mail, $subject, $text) )
{
echo 'Успешно отправлено!'; }
else{
echo 'Отправка не удалась!';
}

Либо использовать для отправки письма функцию bitrix CEvent::Send.

Если письмо не пришло, можно обращаться в тех. поддержку хостера.

Список отправленных писем

В битриксе нет как такого инструмента, который бы показывал сработавшие почтовые шаблоны и соответствующие отправленные письма. Но всё таки существует обходной путь, как просмотреть их.

Для этого нужно зайти в Админку Битрикс, далее Настройки -> Инструменты -> SQL-запрос. Ввести следующий sql код:

select * from b_event
where event_name like '%form%'
order by date_insert desc

Вместо %form% нужно указать конкретный тип почтового события например так, чтобы посмотреть отправленные письма о новых заказах:

select * from b_event
where event_name like 'SALE_NEW_ORDER'
order by date_insert desc

Либо можете вообще убрать вторую строку. В результате получите таблицу всех сработавших событий. Нас интересует колонка SUCCESS_EXEC.
‘Y’ — означает успешная отправка;
‘N’ или 0 — письмо не отправлено;
‘F’ — ошибка
Если найденные записи имеют значение ‘Y’ — это означает, что они отправлены и проблем быть не должно.
Но у нас всё плохо, значит обращаемся в тех. поддержку хостинга.

Если ‘N’ или 0- письма по какой-то причине не ушли.
Может помочь такое решение:
перейдите по пути: <вашсайт>/bitrix/php_interface/dbconn.php

Закомментируйте или удалите следующие строки:

define('BX_CRONTAB', true);
define('BX_CRONTAB_SUPPORT', true);

Попробуйте протестировать снова. Если после этого SUCCESS_EXEC также имеет значение ‘N’, то перейдите в  <вашсайт>/bitrix/managed_cache/ . Удалите содержимое через модуль управления структурой( не в коем случае не используйте FTP). Если вылезет ошибка, то не хватает доступа. Измените доступ к папкам и повторите снова.

Еще один способ — воспользоваться встроенными методами CMS Битрикс по диагностике.

  • Проверка системы — <вашсайт>/bitrix/admin/site_checker.php
  • Монитор качества — <вашсайт>/bitrix/admin/checklist.php

Ошибки, найденные в процессе диагностики, могут являються причиной вашей проблемы.

Возможная ошибка — почтовый сервер не поддерживает формат письма. Попробуйте изменить настройки отправки.

  • Убрать BBC
  • Убрать дублирование email в заголовке
  • Установить Конвертировать 8-битные заголовки

Если ничего не помогло, попробуйте запросить у хостера логи почтового сервера.

Хочу рассмотреть частный случай:

 Не приходят на почту уведомления о заполнении веб-форм

Шаги решения проблемы:

  1. Переходим в админ панель: Настройки -> Настройки продукта ->Настройки модулей  -> Веб-формы. Отключаем флажок «использовать упрощенный режим». Переходим к настройкам компонента веб-форм на сайте. Вкладка дополнительно. Должен присутствовать флажок активирующий привязку к почтовому шаблону.
  2. Переходим: Панель управления -> Настройки -> Настройки продукта -> Почтовые события. Находим почтовый шаблон для веб-формы. Проверяем правильность данных:
  • Шаблон должен быть активен;
  • Привязан к одному из сайтов(если многосайтовость);
  • От кого: #DEFAULT_EMAIL_FROM#;
  • Кому: #DEFAULT_EMAIL_FROM#».

Спасибо за внимание, также читайте статью про то, как Добавить поле в почтовый шаблон.

При переносе сайта на Битрикс с VPS на другую сервис у ряда людей могут возникнуть проблемы при мониторинге системы. Баг «Ошибочный ответ сервера. Не удалось завершить тестирование» может возникнуть при мониторинге в «Структура базы данных». Эта ошибка выскакивает и при переносе на другие сервера, при обновлениях системы. Она появилась именно после обновления ядра системы 1С˗Битрикс до версии 15.5.9. При работе на локальной машине либо через режим «Инкогнито» в GoogleChrome эта проблема не возникает. Служба технической поддержки системы 1С˗Битрикс предлагает простой вариант избавления от бага. Если вы сталкиваетесь с таким видом ошибки, то вероятнее всего вам поможет это решение.

Решение проблемы
Для избавления от бага нужно открыть файл install.sql в каталогу mysql, который находится в /bitrix/modules/main/install/ и заменить там одну строку. Существующий вариант:
INDEX ix_module_to_module(FROM_MODULE_ID, MESSAGE_ID, TO_MODULE_ID, TO_CLASS, TO_METHOD) 

Рабочий вариант:
INDEX ix_module_to_module(FROM_MODULE_ID(20), MESSAGE_ID(20), TO_MODULE_ID(20), TO_CLASS(20), TO_METHOD(20))

Этот вариант кода помогает решить проблему с переносом сайта. Если при установке первоначальной версии у вас не возникало таких проблем, но при последующей инсталляции обновлений ошибка появилась, то и в этом случае попробуйте заменить строку в sql˗файле. Если причина бага системы только в этом, то, как правило, все должно работать и проверка системы завершится успешно.

Ошибочный ответ сервера. Не удалось завершить тестирование

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

Наши специалисты ответят на любой интересующий вопрос по услуге

Хостинг «Таймвеб», редакция Битрикс Старт.

При полном тестировании системы (Настройки → Инструменты → Проверка системы), на этапе Тестирование базы данных — получаем ошибку Структура базы данных: Ошибочный ответ сервера. Не удалось завершить тестирование.

Ошибка появилась после обновления ядра до версии main (15.5.9) — Исправлен ряд интерфейсных ошибок. 

Решение проблемы подсказали в поддержке Битрикса:

В файле /bitrix/modules/main/install/mysql/install.sql найти строку:

INDEX ix_module_to_module(FROM_MODULE_ID, MESSAGE_ID, TO_MODULE_ID, TO_CLASS, TO_METHOD)

и заменить на:

INDEX ix_module_to_module(FROM_MODULE_ID(20), MESSAGE_ID(20), TO_MODULE_ID(20), TO_CLASS(20), TO_METHOD(20))

Заказать услугу

Оформите заявку на сайте, мы свяжемся с вами в ближайшее время и ответим на все интересующие вопросы.

Способы исправления ошибок, выявленных при полном тестировании системы в 1С-Битрикс

Модули веб-сервера

Ошибка: Загружен модуль mod_dav/mod_dav_fs, WebDav не будет работать
Решение: Удалите файл /etc/httpd/conf.modules.d/00-dav.conf

Размер стека и pcre.recursion_limit

Ошибка: Замечание. Возможны проблемы в работе с длинными строками из-за системных ограничений
Решение: Как правило, для корректной работы 1С-Битрикс требуется снижение значения pcre.recursion_limit до 1000. Для этого нужно прописать правило в файле php.ini или в .htaccess, если у вас виртуальный хостинг и нет доступа к настройкам сервера.

VDS хостинг

  1. В файле /etc/php.d/bitrixenv.ini изменим параметр:
    pcre.recursion_limit=100000
  2. В скрипте запуска сервера HTTP Apache /etc/rc.d/init.d/httpd изменим функцию start(), добавив в нее одну строку ulimit -s unlimited
  3. В итоге должно получиться примерно следующее:
    start() {
      echo -n $"Starting $prog: "
      ulimit -s unlimited
      LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS
      RETVAL=$?
      echo
      [ $RETVAL = 0 ] && touch ${lockfile}
      return $RETVAL
    }

Виртуальный хостинг

Для виртуального хостинга в файле .htaccess

php_value pcre.recursion_limit 100000

Режим работы MySQL

Ошибка: innodb_strict_mode=ON, требуется OFF
Решение: После обновления 1C-Битрикс, а конкретно модуля main 19.0.400 добавилась новая проверка. Исправление выйдет в следующих версиях BitrixVM. А сейчас можно исправить так:

Вариант 1

  1. Подключиться к серверу под root
  2. Открыть один из файлов (у всех могут быть разные, варианты)
  • /etc/my.cnf
  • /etc/alternatives/my.cnf
  • /etc/bitrix-my.cnf
  • Добавить строку в блоке # InnoDB parameters
    innodb_strict_mode = OFF
  • Вариант 2

    1. В файл after_connect.php добавить:
      $DB->Query("SET innodb_strict_mode='OFF'");
    2.  В файл after_connect_d7.php добавить:
      $connection->queryExecute("SET innodb_strict_mode='OFF'");

    Структура базы данных

    Ошибка: В таблице b_search_content_stem поле STEM «varchar(50) NOT NULL» не соответствует описанию на диске «int(11) NOT NULL»
    Решение: Удалить модуль поиска вместе с таблицами и Заново установить модуль поиска и переиндексировать сайт.

    Ошибка: В таблице b_search_content_freq поле STEM «varchar(50) NOT NULL DEFAULT «» » не соответствует описанию на диске «int(11) NOT NULL DEFAULT «0» «
    Решение: Удалить модуль поиска вместе с таблицами и Заново установить модуль поиска и переиндексировать сайт.

    Ошибка: Структура базы данных: Ошибочный ответ сервера. Не удалось завершить тестирование.
    Решение: В файле /bitrix/modules/main/install/mysql/install.sql найти строку:

    INDEX ix_module_to_module(FROM_MODULE_ID, MESSAGE_ID, TO_MODULE_ID, TO_CLASS, TO_METHOD)

    и заменить на:

    INDEX ix_module_to_module(FROM_MODULE_ID(20), MESSAGE_ID(20), TO_MODULE_ID(20), TO_CLASS(20), TO_METHOD(20))

    Ошибка: В таблице b_user_hit_auth поле TIMESTAMP_X «datetime NULL DEFAULT NULL » не соответствует описанию на диске «timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP»
    Решение: Выполнить запрос в Настройки → Инструменты → SQL запрос:

    ALTER TABLE `b_user_hit_auth` MODIFY `TIMESTAMP_X` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP;

    Проблема 

    Проверка системы падает с ошибкой: 

    Передача объектов по ссылке    Успешно
    Передача объектов по ссылке    Ошибочный ответ сервера. Не удалось завершить тестирование

    Конфигурация:

    • 1С-Битрикс: Управление сайтом 15.5.10
    • Windows7 64
    • XAMPP
    • PHP Version 5.6.15
    • pcre.recursion_limit    100000

    Причина

    Не найдена и особо не искалась

    Решение

    Отключаем эту проверку

    Файл: bitrixmodulesmainclassesgeneralsite_checker.php 

    Функция: check_pcre_recursion()

    Делаем чтобы всегда возвращала true:

    function check_pcre_recursion()
    	{
    		return true;
    
    		$strRequest = "GET "."/bitrix/admin/site_checker.php?test_type=pcre_recursion_test&unique_id=".checker_get_unique_id()." HTTP/1.1rn";
    		$strRequest.= "Host: ".$this->host."rn";
    		$strRequest.= "rn";
    
    		if ($res = $this->ConnectToHost())
    		{
    			if ('SUCCESS' == $strRes = GetHttpResponse($res, $strRequest, $strHeaders))
    				return true;
    			if ($strRes == 'CLEAN')
    				return $this->Result(null, GetMessage('SC_PCRE_CLEAN'));
    		}
    		return false;
    	}

    Решение было найдено тут: http://max22.ru/pitfalls/site-checker/

    Потом утеряно

    Потом найдено у себя в коде

    Написан пост

    И снова найдено на: http://max22.ru/pitfalls/site-checker/

    ¯_(ツ)_/¯

    Список ошибок при тестировании системы и конфигурации Битрикса

    Отправка почты Ошибка! Не работает

    Отправка почтового сообщения больше 64Кб Ошибка! Не работает

    Фактическое ограничение памяти Ошибочный ответ сервера. Не удалось завершить тестирование

    Отправка почтовых уведомлений Функция работает неправильно, требуется устранить ошибки

    Интеграция с почтой внутри компании Функция работает частично неправильно, желательно устранить ошибки

    Интеграция с соцсетями Функция работает частично неправильно, желательно устранить ошибки

    Публикация сообщений в живую ленту из почты Функция работает частично неправильно, желательно устранить ошибки

    Интеграция с Windows окружением Ошибок не выявлено, но есть замечания

    Интеграция с внешними приложениями (MS Office, Outlook, Exchange) через безопасное подключение к порталу Функция работает частично неправильно, желательно устранить ошибки

    Интеграция с Active Directory Функция работает частично неправильно, желательно устранить ошибки

    Единая авторизация в Windows сети (NTLM) Функция работает частично неправильно, желательно устранить ошибки

    Форум

    Doktor_e5

    Коробочная версия Битрикс24 требует подключения почтового сервера исходящей почты.
    Чаще всего с этой проблемой сталкиваются пользователи, которые мигрируют из облачной версии Битрикс24 в коробочную, или начинающие интеграторы коробочной CRM.

    1. Что такое почтовый сервер?

    Почтовый сервер — это программа, которая предназначена для передачи электронных писем от одного компьютера к другому.

    Отправка и получение писем осуществляется благодаря специальным наборам правил — протоколам:

    SMTP (Simple Mail Transfer Protocol) — отправляет письмо почтовому серверу.
    POP3 (Post Office Protocol 3) / IMAP (Internet Message Access Protocol) — принимает письмо от сервера и передает его получателю.

    Для получения входящей почты в коробке Битрикс24 вам необходимо подключить почтовые ящики точно также, как и в облачной версии. Когда вы вводите логин и пароль почтового ящика, происходит авторизация на сервере входящей почты IMAP.

    Через Битрикс24 отправляются электронные письма:
    — системные уведомления на e-mail;
    — сообщения клиентам в CRM;
    — исходящие e-mail с корпоративных почтовых ящиков сотрудников;
    — email-рассылки в модуле CRM-маркетинга.

    Для отправки email через корпоративный портал потребуется подключить SMTP-сервер.

    2. Как подключить SMTP в коробочной версии Битрикс24?

    В Битрикс24 интеграция с почтой также производится в модуле «Управление масштабированием».
    ( http://вашдомен.ру/bitrix/admin/scale_panel.php?lang=ru)

    Выберите «Глобальные действия» -> «Настроить e-mail» -> Ваш сайт
    Далее введите адрес вашего SMTP-сервера, порт, e-mail (noreply@yoursite.ru), логин (noreply@yoursite.ru), пароль.

    Нажмите «Начать» и дождитесь сообщения системы об успешном выполнении.

    На скриншоте ниже пример, как осуществляется настройка почты Битрикс24 (коробка) на домене Яндекс.

    Пример настроек для почты на домене Яндекс

    3. Подключение почтового сервера для корпоративной почты на Яндексе

    1. Авторизуйтесь под администратором корпоративной почты на Яндексе.
    2. Создайте технический почтовый ящик для отправки почты, например, noreply@yoursite.ru.

    Не меняйте пароль на технический почтовый ящик, иначе отправка почты из Битрикс24 не будет работать.

    3. Настройте подключение к почтовому серверу в разделе «Управление масштабированием».


    Настройки:

    Сервер SMTP: smtp.yandex.ru
    Порт SMTP: 587
    Адрес email: почтовый ящик, который вы только что создали
    Использовать TLS: да
    Использовать аутентификацию: да
    Логин пользователя: почтовый ящик, который вы только что создали
    Пароль пользователя: пароль почтового ящика, который вы только что создали

    Если вы будете использовать бесплатный почтовый сервер, то делать через него массовые email-рассылки в модуле CRM-маркетинга не получится, т.к. у Яндекса ограничение на отправку писем — 500 шт/сутки на всю компанию.

    4. Подключение почтового сервера для корпоративной почты на Mail.ru

    Все делается аналогично предыдущему пункту по настройке сервера для почты на Яндексе.

    Настройки:
    Сервер SMTP: smtp.mail.ru
    Порт SMTP: 587
    Адрес email: почтовый ящик, который вы только что создали
    Использовать TLS: да
    Использовать аутентификацию: да
    Логин пользователя: почтовый ящик, который вы только что создали
    Пароль пользователя: пароль почтового ящика, который вы только что создали

    5. Подключение почтового сервера для корпоративной почты на Google

    Для использования бесплатного SMTP-сервера Gmail необходимо разрешить доступ к непроверенным приложениям. Google блокирует приложения и устройства, которые согласно его мнению не соответствуют современным стандартам безопасности.

    Эту настройку можно выполнить только под администратором корпоративной почты Google.

    Если вы используете двухэтапную аутентификацию для доступа к вашему Google аккаунту, доступ к непроверенным приложениям не может быть включен. В таком случае вам надо войти в систему, используя пароль приложения.

    Google ограничивает количество исходящих электронных сообщений до 100 шт. в день в бесплатной версии.
    При достижении лимита вы не сможете отправлять письма в течение следующих суток.

    Также бесплатная версия почты на домене от Google не поддерживает подмену отправителя. Простыми словами, все исходящие письма с любых почтовых ящиков сотрудников будут приходить от технического ящика, через который происходит авторизация на почтовом сервере.

    Дальнейшие настройки осуществляются аналогично пункту по настройке сервера для почты на Яндексе.

    Настройки:
    Сервер SMTP: smtp.gmail.com
    Порт SMTP: 587
    Адрес email: почтовый ящик, который вы только что создали
    Использовать TLS: да
    Использовать аутентификацию: да
    Логин пользователя: почтовый ящик, который вы только что создали
    Пароль пользователя: пароль почтового ящика, который вы только что создали

    6. Как проверить настройку почтового сервера?

    Настройка почты в коробке Битрикс24

    Ошибка отправки почты
    Если вы не настроили подключение к почтовому серверу или допустили ошибки в настройке почты в коробке Битрикс24 и ее подключении, система выдаст уведомление.

    Ошибки в настройке почты в коробке Битрикс24

    ОтветитьЦитата

    Topic starter
    Размещено : 05.10.2022 16:40

    Мы используем cookie-файлы для наилучшего представления нашего сайта. Продолжая использовать этот сайт, вы соглашаетесь с использованием cookie-файлов.

    Политика конфиденциальности

    Осуществляется передача тестового письма на почтовый адрес hosting_test@bitrixsoft.com через стандартную php функцию mail. Чтобы максимально приблизить тест к реальной работе почты, заведен служебный ящик.

    В качестве тестового текста письма передается исходный код скрипта проверки сайта.

    Никакие пользовательские данные не передаются!

    Обратите внимание, что тест не проверяет доставку письма в почтовый ящик. Более того, нельзя протестировать доставку почты на другие почтовые сервера.

    Если время отправки письма больше секунды, это может значительно затормозить работу сайта. Обратитесь к хостеру с просьбой настроить отложенную отправку почты (через спулер) или включите передачу почты (и работу агентов) через cron. Для этого в dbconn.php надо добавить константу:
    define(‘BX_CRONTAB_SUPPORT’, true);

    Затем на cron добавьте ежеминутное выполнение скрипта php /var/www/bitrix/modules/main/tools/cron_events.php.
    (замените /var/www на свой путь к корню сайта).

    Но если функция mail() в данном случае не отработала, с большой уверенностью можно утверждать, что передача почты стандартным способом php на сервере невозможна.

    Если хостер предоставляет альтернативные способы отправки почты с сайта, их можно использовать через функцию custom_mail. Определите эту функцию в файле /bitrix/php_interface/dbconn.php, она будет использоваться вместо встроенной mail функции с тем же набором параметров.

    Подробности в журнале проверки системы.

    5af95b73eb0d7788907677.jpeg
    Вот что мне написал сам Битрикс

    Какие манипуляции проделал я:
    1. добавил через manage sites почтовый адрес майл.ру
    2. настроил крон

    что имеется
    BitrixVM 7.2.2
    соответственно установленный дистрибутив

    пользовался информацией Отсюда Отсюда и Отсюда Видео про почту начинается с 22-23 минуты

    Я может что не правильно делаю? или надо почтовый сервер поднять я хз

    29 Октября 2019 16:12


    // 1С-Битрикс — Разработка

    Ошибки при отправке системных почтовых сообщений

    Если при проверки сайта инструментом «Проверка сайта», возникает ошибка «Есть ошибки при отправке системных почтовых сообщений, число неотправленных сообщений». Способы решения данной проблемы:


    Если при проверки сайта инструментом «Проверка сайта», возникает ошибка «Есть ошибки при отправке системных почтовых сообщений, число неотправленных сообщений«. Способы решения данной проблемы:

    1. Закомментировать строку define(«BX_CRONTAB_SUPPORT», true); или удалить ее. Данную строку могут добавлять некоторые плагины.
    2. Так же, возможно не включены шаблоны в «Настройки продукта -> почтовые шаблоны«

    Примечание:

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

    P.S. Так же возможны конфликты с настройкой SMTP, для отправки сообщений с сайта.  


    serGUCCI

    • #1

    serGUCCI разместил(а) новый ресурс:

    Битрикс24 — Корпоративный портал — система управления внутренним информационным ресурсом компании для коллективной работы над задачами

    03718f85659992088923a38181ba1b75.jpg

    Корпоративный портал — система управления внутренним информационным ресурсом компании для коллективной работы над задачами, проектами и документами, для эффективных внутренних коммуникаций.
    Вам не нужно ничего устанавливать и настраивать. Вы регистрируетесь — и сразу начинаете работать со своим корпоративным порталом
    Программный продукт для установки на сервер внутри компании или на…

    Посмотреть страницу этого ресурса…

    bat

    • #2

    В чем принципиальное отличие от облачной битры24 кроме того что свой сервак нужен не совсем понял, либо я с бодуна туго соображаю

    serGUCCI

    • #3

    В чем принципиальное отличие от облачной битры24

    не надо платить абонплату
    доступ к админке и коду

    bat

    • #4

    не надо платить абонплату
    доступ к админке и коду

    ну это конечно понятно, вот ток свой сервак держать дороже, ну и возни с ним, + поддержка пропадает в случае с нуллом, то же касается работоспособности того же колл-центра и привязки всяких vk, ok, facebook и тд через апи, при обновлении оных коллцентр тупо перестанет работать, я то об этом, классно конечно, но минусов больше чем плюсов на мой взгляд

    serGUCCI

    • #5

    ну это конечно понятно, вот ток свой сервак держать дороже, ну и возни с ним

    У каждого свои требования и финансовые ресурсы. Никто не заставляет ставить «коробку», пользуйтесь облаком.
    Например я развернул «коробку» внутри своей компании. Директор доволен, у админа полный доступ, абонплаты нет.

    Последнее редактирование модератором: 06.03.2021

    DanK

    Созидатель (II)
    • #6

    Новичок в этой теме. Подскажите плиз если выкачать данный архив и развернуть его на сервере он заработает?
    Либо нужно будет искать дополнительно ключ для активации?
    И если нужен ключ, где его искать?

    • #7

    Это просто дистрибутив в исходных

    Новичок в этой теме. Подскажите плиз если выкачать данный архив и развернуть его на сервере он заработает?
    Либо нужно будет искать дополнительно ключ для активации?
    И если нужен ключ, где его искать?

    Это просто дистрибутив в исходниках. Соответственно нужен ключ, либо демо. Выше всё написано.

    Den_Volt

    • #8

    Поставил bitrix24 на хостинге в ознакомительных целях (

    нет

    ), через день пришло письмо с reg.ru мол найден вирус, подскажите стоит ли на это обращать внимание
    Screenshot_1.jpg

    • #9

    Поставил bitrix24 на хостинге в ознакомительных целях (

    нет

    ), через день пришло письмо с reg.ru мол найден вирус, подскажите стоит ли на это обращать внимание
    Посмотреть вложение 362

    Написано же, что обфусцирован, не обращай внимание.

    bat

    • #10

    Поставил bitrix24 на хостинге в ознакомительных целях (

    нет

    ), через день пришло письмо с reg.ru мол найден вирус, подскажите стоит ли на это обращать внимание
    Посмотреть вложение 362

    не стоит, но я бы обратился в регру чтоб разъяснили в чем они увидели угрозу, после их ответа разберемся.
    разумеется задай им этот вопрос и жду что они скажут, перешли мне или запости сюда (это лучше), т.к. я с ними тоже могу пообщаться на своих тонах

    Последнее редактирование: 06.03.2021

    Den_Volt

    • #11

    не стоит, но я бы обратился в регру чтоб разъяснили в чем они увидели угрозу, после их ответа разберемся.
    разумеется задай им этот вопрос и жду что они скажут, перешли мне или запости сюда (это лучше), т.к. я с ними тоже могу пообщаться на своих тонах

    1. создал сканирование хостинга на вирусы, результат:

    Screenshot_2.jpg

    2. Написал в службу поддержки, вот ответ:
    Screenshot_3.jpg
    Как по мне в этом файле обычный код php)

    bat

    • #12

    дык это распространенная проблема на битре, не факт конечно что там и правда вирус, без вложения не скажешь, если действительно вирь есть то либо вручную чисти либо меняй файлы на коробочные, не забудь предварительно сменить все пароли (ftp, админка и тд)

    serGUCCI

    • #13

    Нужна помощь в настройке почты на Б24
    Установлен VMBitrix. При проверке системы все ОК кроме «отправки почтовых уведомлений», висит ошибка «Функция работает неправильно, требуется устранить ошибки«

    l2ZO43yS7pBvNA.jpg

    В консоли почта настроена, имейл администратора совпадает. Могу предоставить доступ и в админку и на сервер по ssh (все-равно пока тестируем).

    • #14

    Нужна помощь в настройке почты на Б24
    Установлен VMBitrix. При проверке системы все ОК кроме «отправки почтовых уведомлений», висит ошибка «Функция работает неправильно, требуется устранить ошибки«

    l2ZO43yS7pBvNA.jpg

    В консоли почта настроена, имейл администратора совпадает. Могу предоставить доступ и в админку и на сервер по ssh (все-равно пока тестируем).

    Письма доходят? Куда отправляете? Покажи настройки .msmtprc. Сам недавно мучался с интеграцией с exchange.

    serGUCCI

    • #15

    Функция mail() не работает! вроде бы понятно описал проблему, даже скриншот прилепил

    ну например приглашение коллегам на регистрацию, не отправляются

    Покажи настройки .msmtprc

    там все правильно, не единожды уже настраивал года два назад и все работало

    • #16

    Функция mail() не работает! вроде бы понятно описал проблему, даже скриншот прилепил

    ну например приглашение коллегам на регистрацию, не отправляются

    там все правильно, не единожды уже настраивал года два назад и все работало

    Ну тут физически смотреть нужно настройки самого битрикс и сервера (.msmtprc в частности).

    serGUCCI

    • #17

    Ну тут физически смотреть нужно настройки самого битрикс и сервера (.msmtprc в частности).

    Я вчера тупо целый день с ним провозился. Какие либо «инструкции» или решения этой темы на сайте битрикса давно устарели и не помогли.
    Психанул и снес нафиг это все и поставил хостинг на ISPmanager, вот на нем почта в Б24 работает но это не вариант так как все-равно для нормального использования требуется окружение битрикс.
    Я позже все-равно буду его ставить, если что к вам можно обратиться?

    • #18

    Да, можно, думаю сможем побороть.

    DanK

    Созидатель (II)
    • #19

    Доброго времени суток!

    Подскажите пожалуйста. Установили Битрикс на обычный хостинг. Всё работает, время отклика приемлемое. Нагрузка будет не большая (5-10 пользователей).

    Чем чревато? Как отразится это в дальнейшем на использовании?
    Обязательно ли использование виртуальной машины при развертывании Битрикс24?
    Хотелось бы узнать мнение специалистов.

    serGUCCI

    • #20

    Как отразится это в дальнейшем на использовании?
    Обязательно ли использование виртуальной машины при развертывании Битрикс24?

    Смотря для чего вам нужна эта CRM.
    На обычном хостинге открытые линии работать не будут. Как для постановки задач и общения онлайн — можно использовать, но в админка потом буде сыпаться много ошибок.

    Для начала необходимо проверить работу почты сайта под управлением Битрикс.

    Битрикс посылает почтовые шаблоны функциями CEvent::Send() и CEvent::SendImmediate().

    Письмо отправляется, если Битрикс нашел активный почтовый шаблон, подходящий под это событие и соответствующий текущему сайту.

    Письма, отправленные через CEvent::Send(), попадают в таблицу b_event.

    Чтобы проверить таблицу, существует 2 способа.

    Способ 1

    Перейдите на страницу ваш_домен/bitrix/admin/perfmon_tables.php и в поле «Фильтр по имени таблицы» введите b_event, далее перейдите по точному совпадению таблицы.

    Фильтр по имени таблицы
    Фильтр по имени таблицы

    Способ 2

    Письма, попавшие в b_event, посылаются на агенте (хиты) или на cron (по расписанию) и отправляются не сразу.

    Письма, посылаемые через SendImmediate, не попадают в b_event, а отправляются сразу.

    Send и SendImmediate — обертки на функцию Битрикса bxmail, которая использует либо стандартную php-функцию mail, либо custom_mail, если она определена.

    В Административном разделе сайта перейдите на страницу по адресу Настройки -> Инструменты -> Командная PHP-строка и скопируйте туда данный код:

    if( mail("mail_to@mail.com", "letter test", "my letter text",
    "From: mail_from@mail.com
    Reply-To: mail_from@mail.com
    Content-Type: text/plain; charset=windows-1251
    Content-Transfer-Encoding: 8bit"
    ) ){
        echo 'Успешно отправлено!';
    }else{
        echo 'Отправка не удалась!';
    }

    Поля «От кого» (mail_from@mail.com), «Кому» (mail_to@mail.com) поменять на свои.

    После этого нажмите на кнопку «ВЫПОЛНИТЬ«.

    Командная PHP-строка
    Командная PHP-строка

    Битриксовская отправка письма — обёртка над функцией mail().

    Если в результате выполнения команды появилось сообщение «Отправка не удалась!«, значит функция mail не работает. Свяжитесь с администрацией хостинга.

    Далее нужно проверить срабатывает ли штатные события.

    На D7:

    use BitrixMainMailEvent;
    $arFields = array(
        "EVENT_NAME" => "ваше событие",
        "LID" => "код вашего сайта",
        "C_FIELDS" => array(
        "EMAIL"    => "mail_to@mail.com",
        "BCC"    => "mail_to@mail.com",
        "DEFAULT_EMAIL_FROM"    => "mail_from@mail.com",
        ),
        "DUPLICATE"=>"Y",
    );
    $result=Event::send($arFields);
    if($result->GetId()){
        echo 'Успешно отправлено!';
    }else{
        echo 'Отправка не удалась!';
    }

    Проверьте, чтобы поля «DEFAULT_EMAIL_FROM«, «EMAIL«, «EVENT_NAME» были заполнены верно.

    Если не поддерживается D7:

    $arEventFields = array(
    "EMAIL_TO"            => "mail_to@mail.com",
    "BCC"                 => "mail_to@mail.com",
    "DEFAULT_EMAIL_FROM"    => "mail_from@mail.com",
    "ORDER_LIST"    => "состав заказа",
    );
    $result=CEvent::Send("ваше событие", "код вашего сайта", $arEventFields,'Y');
    if(intval($result)){
        echo 'Успешно отправлено!';
    }else{
        echo 'Отправка не удалась!';
    }

    Далее перейдите на страницу по адресу Настройки -> Инструменты -> SQL запрос и введите:

    select * from b_event order by id desc

    SQL запрос
    SQL запрос

    Обратите внимание на колонки SUCCESS_EXEC и DUPLICATE. Иногда нужно подождать некоторое время (недолго), пока отработает запись в лог. Первый при установленном значении ‘Y‘ говорит нам, что отправка произошла успешно. Второй, что письмо продублировано на скрытую копию ВСС (например администратору о совершенном заказе).

    Что же делать, если значения ‘N‘, а отправка простого mail() выдала ‘Успешно отправлено!’?

    Параметр SUCCESS_EXEC сообщает:

    • Y — все письма по всем почтовым шаблонам были успешно отправлены;
    • F — все письма по всем почтовым шаблонам не смогли быть отправлены;
    • P — часть писем отправлена успешно, часть писем — безуспешно;
    • 0 — почтовые шаблоны не были найдены;
    • N — почтовое событие ещё не обрабатывалось функцией CEvent::CheckEvents.

    Если там стоит ‘N’

    1. Возможно в настройках продукта включена отправка сообщений по крону. Зайдите в файл /bitrix/php_interface/dbconn.php и проверьте, не определены ли у вас константы BX_CRONTAB и BX_CRONTAB_SUPPORT, если да — убрать их.(ОСТОРОЖНО! Будьте готовы вернуть всё в исходное состояние)
    2. Если после этого SUCCESS_EXEC также N, то необходимо перейти в папку /bitrix/managed_cache/ и попытаться удалить содержимое обязательно через модуль управления структурой, а не через FTP. Если возникла ошибка, исправьте проблему с доступом продукта к папкам. Результатом должно быть удаление файлов и папок из кеша через модуль управления структурой.
    3. Если после выполения команды CEvent::CheckEvents(); в командной строке несколько писем с N меняют статус отправки на другой, нужно добавлять и проверять cron-задачу или переключить отправку писем на хиты.
    4. Поставьте cron-задачу (проверьте, есть ли она вообще) или перенесите отправку на хиты.
    5. Код в init.php, некорректно работающий на cron. Проверьте там редиректы и пустые данные в переменной $_SERVER.

    Если там стоит ‘F’ (функция mail() по какой-то причине вернула False)

    1. Может почтовый сервер не поддерживает формат письма. Тогда необходимо:
      • Убрать BBC (лучше добиться, чтоб оно работало, но попробовать отключить можно)
      • Убрать дублирование email в заголовке
      • Установить «Конвертировать 8-битные заголовки»
    2. Может быть это проблемы на стороне почтовой утилиты на сервере. Если почта была настроена, но вдруг перестала отправляться, ошибку нужно искать в логах почтовой утилиты. В стандартном виртуальном окружении Битрикса он находится по адресу /home/bitrix/msmtp_default.log. Проверьте также права на /home/bitrix/.msmtprc. Возможно прав для пользователя bitrix (если стантартное виртуальное окружение) не достаточно на прочтение. Поменяйте владельца на bitrix:bitrix.
    3. Если писем отправляется очень много. В почтовых серверах может стоять ограничение на количество писем в минуту, час или день. Если лимит превышен, письма могут быть не доставлены. Ошибки можно увидеть в логах или узнать у техподдержки почтового сервера. Лечится увеличением пропускного лимита или уменьшением количества отправляемых писем. Например, можно убрать лишних получателей из копий, отключить лишние почтовые шаблоны.
    4. В почтовом шаблоне письма есть заглушка #NAME#, а ключа с таким именем нет в массиве полей в b_event:
      • e-mail отправителя или получателя имеет неправильный формат;
      • заглушека #NAME# не может подставиться;
      • какой-то из необходимых заголовков не задан в почтовом шаблоне в административной части сайта;
      • в почтовом клиенте неверно настроено соответствие заголовков;
      • отправитель письма не соответствует тому, что ожидает почтовый сервер.
    5. Битрикс заполняет заглушку #BCC# в полях Кому и Копии только в письмах, отправляемые модулем Интернет-магазин (например, создание заказа). Если вы добавите #BCC# в Кому или Копию в шаблон регистрации пользователя или в свой кастомный, или любой другой шаблон без приставки SALE — письмо не отправится и будет иметь статус отправки F.
    6. Обработчики событий отправки писем сработали неверно.
    7. Обратите внимание на функцию custom_mail. Если она определена, значит заменяет стандартную mail. Даже если она отработала корректно (отослались письма), статус может быть F или 0. Проверьте тариф используемого SMTP, проверьте логины, пароли, а также адрес отправителя. Обычно используют класс PhpMailer. Включите дебаг и посмотрите ошибки.
    use PHPMailerPHPMailerPHPMailer;
    use PHPMailerPHPMailerException;
    $from = 'адрес отправителя';
    $mail = new PHPMailer(true);
    $mail->SMTPDebug = 1;                                       // включаем дебаг
    $mail->isSMTP();                                            // включаем SMTP
    $mail->Host       = '';  //  SMTP сервер
    $mail->SMTPAuth   = true;                                   // включаем авторизацию
    $mail->Username   = $from;                     // SMTP логин
    $mail->Password   = '';                               // SMTP пароль
    $mail->SMTPSecure = 'ssl';                                  // включаем шифрование
    $mail->Port       = 465;                                    // используемый TCP порт
    
    //Recipients
    $mail->setFrom($from, 'Арт-Деко'); //от кого
    $mail->addAddress(''); //кому
    // Content
    $mail->CharSet = "UTF-8"; //кодировка
    $mail->isHTML(true);                                  // формат письма HTML
    $mail->Subject = '=test=';
    $mail->Body = '=test body=';
    $mail->send();
    file_put_contents($_SERVER['DOCUMENT_ROOT'].'/mail_log.log',serialize($mail->ErrorInfo).PHP_EOL,FILE_APPEND);

    Если стоит NULL

    API работает только с записями, у которых значение «N«, поэтому попробуем исправить сам столбец таблицы.

    Для этого перейдите на Настройки -> Инструменты -> SQL запрос и введите:

    alter table b_event modify SUCCESS_EXEC char(1) not null default 'N';

    SQL запрос
    SQL запрос

    Если стоит «0»

    1. Неправильно настроен шаблон сообщения. Посмотрите правильность зополнения полей. Мало ли.
    2. В почтовом шаблоне снята галочка активности или нет привязки к нужному сайту.
    3. Обработчики событий отправки писем сработали неверно.

    Если ничего не помогло

    • Просите у хостера логи почтового сервера.
    • По возможности проверить размер таблицы b_event (через phpmyadmin к примеру).
    • Если дешевый тариф, то посмотреть использование памяти сервером.
    • Возможно у хостера стоит ограничение на вес письма.

    Проверка домена в настройках сайта

    Для отправки писем важно, чтобы домен, с которого отправляются письма, был прописан в настройках сайта.

    В Административном разделе перейдите на Настройки -> Настройки продукта -> Сайты -> Список сайтов и нажмите на id сайта, с которого идет отправка письма:

    Список сайтов
    Список сайтов

    На странице настроек сайта проверьте поле «Доменное имя«. Если там не указан домен, с которого отправляются письма, то введите его:

    Редактирование сайта
    Редактирование сайта

    Если письмо отправилось, но вы его не видите не забудьте перепроверить спам фильтр на почте, на которую отправляли.

    В этой статье мы расскажем вам о том, где смотреть причины ошибки неотправленной почты в Битриксе. Рассмотрим три основных мест, откуда можно найти ошибку отправки писем.

    Проверка таблицы очереди писем

    Идем в административную панель Битрикса по пути: Настройки / Производительность / Таблицы. Ищем таблицу b_event и проваливаемся по ссылке.

    Именно в эту таблицу попадают письма с сайта в очередь, а затем отправляются на хитах или на агентах.

    Почему не отправляются письма с сайта?

    На открывшейся странице можем отыскать сообщение, которое не отправилось. Проматываем в самый конец к колонке SUCCESS_EXEC – это колонка записывает состояние отправки письма.

    Почему не отправляются письма с сайта?

    Варианты статуса отправки (SUCCESS_EXEC):

    Y – означает, что письмо было успешно отправлено

    N – говорит о том, что событие еще не обработано и письмо не отправлено. В этом случае стоит полную проверку сайта и проверить настройки dbconn.php. Проверить корректность настройки почтовых шаблонов и их привязки к сайтам.

    F – сообщение не было отправлено. Необходимо проверить логи сервера или хостинга.

    0 – не активен или отсутствует почтовый шаблон (Настройки / Настройки продукта / Почтовые шаблоны)

    Проверка системы

    Проверка системы расположена на странице Настройки / Инструменты / Проверка системы. В проверке уже встроен инструмент, который проверяет возможность отправки письма с помощью стандартной PHP функции mail. Этаки быстрый проверяльщик работы почты.

    Почему не отправляются письма с сайта?

    Если здесь уже возникает ошибка, то проблему стоит идти смотреть в логи сервера.

    Проверка логов сервера

    Если ошибка ошибка идет глубже и у вас VM Bitrix, идем в консоль сервера по пути /home/bitrix/ и ищем логи с префиксом .msmtp_ (по умолчанию). Смотрим и ловим ошибки в этом файле. Логи лучше просматривать с помощью утилиты mc.

    Сама конфигурация почтовых настроек расположена в файле /home/bitrix/.msmtrpc

    Если письма в Битриксе отмечены как успешно отправленные, но письмо не пришло и в логах отсутствует какая-либо информация – следует обратить внимание на логи в /var/log/. Там отобразится ошибка, которая возвращается функцией mail.

    Проверить возможность отправки также можно с помощью консольных команд (но в данном случае будет использоваться отправитель по умолчанию – default)

    > php -a
    > mail('test@example.com', "Test", "Test message");
    > exit

    Если произойдет ошибка при отправке, то сообщение будет у вас на экране.

    Ошибки

    Частая ошибка – это когда в письмах отправителем указан адрес отличимый от названия аккаунта (поле FROM). Поэтому задайте в настройках сайта нужный адрес или в почтовых шаблонах в поле «От кого». В этом случае, если требуется, чтобы человек мог ответить на другую почту, то можете указать электронную почту в качестве обратного адреса в почтовом шаблоне.

    Другая ошибка – это отсутствие настроек для отправителя по умолчанию. Необходимо внести корректные настройки адреса отправителя (указать tsl, метод авторизации и т.п.)

    Почему не отправляются письма с сайта?

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

    Понравилась статья? Поделить с друзьями:
  • C1253 ошибка тойота приус 30
  • Bitrix ошибка не удалось обнаружить код вызова компонента
  • C1253 ошибка тойота ленд крузер 100
  • Beretta super exclusive ошибка 01
  • C1253 ошибка тойота prius 20