Меню Закрыть

Битрикс уведомление о заказе на почту

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

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

Настройки → Настройки продукта → Почтовые события → Почтовые шаблоны

Найдите в списке типов почтовых событий шаблон с нужным id и с отметкой ADMIN. Именно его нужно настроить, чтобы почтовые уведомления приходили на ваши почтовые адреса. Выяснить ID шаблона можно, соотнеся его с ID инфоблока в настройках форм.

ID почтового шаблона:

Чтобы отредактировать нужную форму, кликните пиктограмму «гамбургер». Откроется окно настроек почтового шаблона.

Заполните поля «Кому», «Копия» или «Скрытая копия» почтовыми адресами, на которые должны приходить уведомления. Сохраните изменения.

Многие из тех, кто когда либо работал с Bitrix знают, на сколько не полноценнен функционал уведомления о новом заказе на почту пользователя. С чем это связано, мне даже не хотелось думать. Под те условия которые хотел заказчик это совершенно не подходило.
День первый
Долгие и усердные поиски по тому-же форуму нашей cms, никакой конкретики не давали, пока не наткнулся на одну статью в каком-то блоге сейчас даже и не вспомню, может быть ближе к концу статьи.

Там был код примерно следующего вида:

Думаю пояснять его не нужно, в нем всё ясно и понятно.

Ну и как обычно это происходит, я не нашел удовлетворения в этих строчках, они всего-лишь выводят список того-что заказал человек.
Стул 2000 руб. 1шт. 2000 руб.
День второй
Продолжаем деятельность
Заказчик бился и кричал что ему этого мало, что он хочет отображения определенного свойства товара, в нашем случае это цвет слула, допустим он в разных цветах:

  • Зеленый
  • Красный
  • Синий
Читайте также:  Bat проверка существования файла

Т.к CSaleBasket::GetList свойства не выдает (поправте если ошибаюсь) пришлось использовать CIBlockElement::GetById.
Выглядело это следующим образом:

Вуаля, print_t($arProps) нам показывает все характеристики товаров которые имеются в заказе.
Осталось лишь подправить 1 строчку:

где .$arProps[«COLORSET»][«VALUE»]. и есть код нашего свойства.

Осталось во всю эту красоту добавить контактную информацию пользователя и небольшое дополнение из оформления заказа.
Необходимая строчка всегда была у меня под носом
$_SESSION[‘CURRENT_ORDER’];
Пробуем вывести массив. О радость, $_SESSION возвращает нам всё что необходимо было достать.
Выдернув из него нужные свойства, я добавил в $arEventFields несколько строк/

В шаблон сообщения, подставив всё в нужном порядке
Имя: #ZNAME#
Телефон: #PHONE#
Адрес: #LCITY# #LSTREET# #LHOME# #LKORP# #LKV# #LFL#
Наконец-то получил почти готовый вариант. Вместо человечески понятного названия города Санкт-Петербург, мы получали непонятное число 615.
Через CSaleLocation::GetByID приводим всё в порядок

Заменяем одну строчку в $arEventFields
с
«LCITY» => «г.».$homes[«PROPS»][«ORDER_PROP_25»][«VALUE»],
на
«LCITY» => $locationName, и радуемся результату.

Вспомним про плюшки о которых я говорил в начале.
При оформлении заказа, пользователю дается возможность выбора, имеется ли в подъезде лифт, домофон или собака. Всё это производится посредством чекбоксов.
Зная что они хранятся в $_SESSION мы их идентифицируем уже знакомым нам способом, а именно в $arEventFields подставляем:

Не забываем что чекбоксы нам возвращают либо Y, либо N.
Соответственно в код мы добавляем простейшие условия.

Ну вот на этом кажется и проделана вся работа. Оформляем шаблон письма:

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

Читайте также:  Password may be incorrect

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Raspberry pi обновление системы

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

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

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

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

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

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

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

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

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

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

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

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.