Плагины Mailback и Callback

08.12.2023

Для чего нужны плагины Mailback и Callback

С их помощью можно разместить на сайте формы, через которые посетитель сайта сможет отправить сообщение и/или заказать обратный звонок. На их основе также можно создать нестандартные формы, в том числе с другим оформлением, с другим набором полей, с включенной или выключенной защитой от спама, с включенными или отключенными SMS-уведомлениями, с выбором нужного адресата или без выбора, с другими обработчиками и т.д.

Где хранятся плагины Mailback и Callback

В папке plugins, в файлах mailback.php и calllback.php соответсвенно.

Если хотите внести какие-либо изменения в код этих плагинов, то перенесите их в папку plugins/custom - так они не будут заменены стандартными плагинами в случае обновления CMS. Если планируете изменить код только одного плагина, то только его и нужно переносить.

Если хотите также внести изменения в код обработчиков этих плагинов, то из папки handles перенесите в handles/custom файлы guest_mailback.php и guest_callback.php соответсвенно.

Важно! Эти плагины и обработчики доступны только при наличии в комплекте поставке пакета Zion Mail Back.

Как отобразить формы обратной связи и/или заказа обратного звонка с нужными параметрами

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

По умолчанию команды вызова такие:

  • Для формы обратной связи: {plugin:mailback}
  • Для формы заказа звонка: {plugin:callback}

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

Параметры состоят из имени и значения, которые отделяются друг от друга двоеточием :

Одна пара имя:значение от другого аналогичной пары отделяется точкой с запятой ;

От имени плагина параметры также отделяются точкой с запятой

Пример:

У нас есть два параметра. У первого название par1, а значение test. У второго название param2, а значение yahoo

Команда вызова плагина при этом будет такая {plugin:mailback;par1:test;param2:yahoo}.

Обязательных параметров нет. Некоторые параметры могут быть (не)доступны или изменены при определённых значениях других параметров.

Для некоторых параметров доступны значения по умолчанию. Параметры со значениями по умолчанию можно не указывать.

Параметры плагина Mailback

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

Также на набор параметров и значений может влиять комплект поставки.

Имя параметра Значение параметра и комментарии
contacts

Режим отображения списка контактов.

Доступны только следующие параметры:

  • admin - список контактов не отображается - отправка сообщений будет идти на Email для системных уведомлений, указанный в разделе Опции \ Проект.
  • list - отображается список контактов, созданных в разделе Справочники \ Контакты для обратной связи. Записи у которых не заполнены поля Название или E-mail будут скрыты в списке также, как записи, для которых не отмечена галочка Доступен.
  • auto - список контактов отображатется, если есть хотя бы один контакт, у которого заполнены поля Название и E-mail, а также отмечена галочка Доступен. Иначе отправка будет идти на Email для системных уведомлений (по умолчанию).
id

Контакт по умолчанию.

  • При contacts равном list или auto - контакт с указанным ID будет выбран в выпадающем списке контактов.
  • При contacts равном admin - этот параметр игнорируется.
subject

Тема сообщения.

Может быть заполнено значением из переменной GET[subject] или POST[subject] (приоритетно).

  • Если subject равен ID одного из контактов, то отправка будет вестись на email этого контакта, а поле для указания темы и список контактов будут скрыты.
  • Если в subject указано какое-то другое значение, то оно будет вставлено в поле для укзания темы (может быть скорректировано отправителем), а отправка будет вестись на Email для системных уведомлений.
  • Пустое значение в subject ни на что не влияет.

Устранение проблем с отправкой/доставкой email-сообщений

В разделе Опции \ Обратная связь можно указать параметры для отправки сообщений через SMTP-сервер.

Если параметры не указаны или указаны некорректно, будет предпринята попытка отправить сообщение от имени отправителя (с его "подставного" адреса) через PHP-функцию mail().

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

В качестве "робота" Вы можете использовать любой реальный почтовый ящик, например, созданный на Mail.Ru, Яндекс.Почта, GMail и т.п., которым Вы обычно пользуетесь. Минус такого подхода в том, что пароль от Вашего ящика будет известен тем, кто имеет доступ к админке Вашего сайта.

Можно там же (на Mail.Ru, Яндекс.Почта, GMail и т.п.) создать новый ящик, который Вы не будет использовать, кроме как в качестве "робота". Минус такого подхода в том, что, например, Mail.Ru блокирует ящики, в которые Вы не входите более-менее продолжительное время. Также эти почтовые сервисы могут со временем перестать отправлять Вам почту от робота, если кто-то будет слать Вам через форму на сайте различный спам. Почтовый сервис рассыльщиком спама будет считать именно Вашего "робота".

Более продуманный вариант - создать почтовый ящик с минимальным лимтом на Вашем хостинге, например, Jino.ru. При создании (или при редактировании после создания) почтового ящика включите опции DKIM и SPF. Так письма от робота будут успешно проходить проверку на подлинность и со значительно меньшей вероятсностью будут распознаны, как спам.

Заполните следующие поля в разделе Опции \ Обратная связь :

  • Реальный адрес, с которого будут отправляться письма из формы обратной связи: адрес вида robot@mydomain.com
  • Логин от почтового ящика: часто он может быть равен тому, что указано в предыдущем поле, но не всегда. Бывает, что нужно указать только то, что написано слева от символа @. Бывает, что символ @ нужно заменить на +. Уточните корректные параметры у Вашего хостера.
  • Пароль от почтового ящика: скорее всего Вы сами укажете его при создании почтового ящика
  • SMTP-сервер: уточните его у Вашего хостера (в случае с Jino.ru это smtp.jino.ru)
  • Порт для доступа к SMTP-серверу: уточните его у Вашего хостера (обычно это 465 с включенным шифровнаием или 587 без шифрования, но возможны и другие варианты)
  • Использовать шифрование: поставьте (рекомендуется) или снимите (если шифрование недоступно) галочку

Если в логине почтового ящика используется кириллический домен, то указывайте его в IDNA-формате. То есть без русских букв. Что-то вроде xn--...

Если почтовый робот будет использоваться не только для отправки Вам сообщений из форм на сайте, но и для отправки писем посетителям сайта (например, с информацией о заказах в интернет-магазине), то получтели могут по той или иной причине попытаться ответить на сообщение. Оно придёт не Вам, а роботу. Поэтому рекомендуется включить переадресацию всех сообщений получаемых роботом на один из Ваших почтовых ящиков, которыми Вы регулярно пользуетесь. При этом почту в ящике робота можно не сохранять. Это также позволит Вам указать для ящика робота небольшой лимит. 100 МБ вполне хватит.

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

Если параметры некорректны (и в некоторых других случаях с корректными параметрами), то письма отправляться не будут. При этом они будут сохраняться на сайте, который будет пытаться отправить их снова (случаются временные проблемы, которые "самоустраняются"). Если хотя бы одно письмо будет неотправлено 2 и более раз, система мониторинга предупредит Вас об этом и предложит устранить проблему в разделе Опции \ Обратная связь.

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

Когда проблема будет устранена, все неотправленные письма будут отправлены автоматически. Система работает так, что при каждом обращении к сайту (в том числе к "админке") происходит отправка не более, чем одного сообщения. Это сваязано с ограничениями со стороны веб-серверов. Если нужно срочно отправить всё неотправленное. Просто несколько раз обновите страницу и увидите, как список неотправленных сообщений уменьшается...

SMS-уведомления из форм обратной связи и заказа звонка

В разделе Опции \ SMS-шлюз можно включить (или отключить) уведомления о заполнении форм по SMS.

При этом в случае с формой обратной связи в SMS будет отправляться только контактная информация и тема сообщения. Эта же информация будет дублироваться на e-mail вместе с отправкой текста сообщения.

А в случае с заказом звонка контактные данные будут отправляться только по SMS, но не на e-mail.

Защита от спама

В разделе Опции \ reCAPTCHA доступна инструкция по включеню Google reCAPTCHA, которая позволит защитить формы обратной связи и заказа звонка от спам-роботов.

Если всё-таки спам из формы пришёл на почту, то не помечайте его, как спам (так в чёрный список попадёт Ваш робот). Просто игнорируйте спам-сообщения.

Если же спам идёт массово, обязательно сообщите об этом разработчикам. Защита от спама будет доработана.


CMS Zion WebEngine является бесплатной системой. Развивается за счёт рекламы, помощи веб-студии #webZion и других спонсоров.

 

Будем рады, если Вы поддержите нас любой суммой, а также поделитесь идеями на счёт каких-либо улучшений и доработок для CMS...

 

Заранее, большое, спасибо

 

Блог обновлений

Zion WebEngine 24.02.01
  • Доработан класс для управления контентом:
    • Устранены недочёты в некоторых формах для пользователей по умолчанию

Zion WebEngine Классы Контент/Контентные единицы Формы для пользователей Как редактировать Контент?

Zion WebEngine 24.01.29
  • Доработан элемент Связи (спасибо MasterProfi):
    • Добавлено несколько методов, упрощающих работу со связями между пользователями и контентом

Zion WebEngine Доступы/Пользователи Контент/Контентные единицы Связи Элементы Что такое Элементы?

Zion WebEngine 24.01.24
  • Доработан класс для управления пользователями (спасибо MasterProfi):
    • Устранены проблемы с отображением нестандартных свойств пользователей

Zion WebEngine Что такое Свойства? Доступы/Пользователи Классы Свойства

Zion WebEngine 24.01.23
  • Доработан класс для управления пользователями (спасибо MasterProfi):
    • Теперь доступен просмотр даты регистрации пользователя (при наличии в комплекте поставки пакета Zion User Control)
  • Доработаны драйвер облочки и элементы Адрес и Место в структуре (спасибо Портал поддержки):
    • Расширился список символов, которые могут быть написаны в команде вызова плагина
    • Устранены проблемы с очисткой кэша при определении ЧПУ-адреса веб-страниц

Zion WebEngine Адрес (URL)/ЧПУ/Переадресация Дата/Время/TimeMashine Доступы/Пользователи Драйверы Классы Кодировки/Наборы символов Кэш/Кеш Место в структуре Плагины Элементы Что такое Плагины?

Zion WebEngine 24.01.19
  • Доработан плагин универсального меню (спасибо ТК Кило):
    • Теперь если для параметра select (что выбрать) указаны значения linked (связанные записи) или backlinks (обратные связи), то для параметра sort (сортировка) становятся доступны только следующие варианты:
      • id - ID связи
      • fromid - ID связывающейся записи
      • toid - ID связываемой записи
      • reason - причина связи
      • info - информация о связи
      • price - цена связи
      • description - описание связи

Zion WebEngine Меню/Списки/Навигация Плагины Связи Плагин Menu

Zion WebEngine 24.01.17
  • Доработан элемент Связи (спасибо MasterProfi):
    • Теперь при подсчёте количества связей пользователя с контентом, можно указать типы:
      • Можно указать несколько типов через запятую, чтобы подсчитать количество связей с контентом только этих типов
      • Без указания хотя бы одного типа будет подсчитано количество всех связей указанного пользователя с контентом (как и раньше)

Zion WebEngine Доступы/Пользователи Контент/Контентные единицы Связи Типы Элементы Что такое Контент?

Zion WebEngine 24.01.16
  • Доработан класс для управления базой данных (спасибо МедИнвест):
    • Теперь при использовании кнопки Переместить в указанное место для контента будут отображаться только записи с тем же местом в структуре, что и у перемещаемой записи:
      • Так перемещение будет работать быстрее, а отсутствие "лишних" записей в списке избавит от путаницы
      • В других списках в административном интерфейсе перемещение работает, как прежде

Zion WebEngine Административный интерфейс База данных/Таблицы данных Классы Контент/Контентные единицы Место в структуре Элемент "Место в структуре"

Zion WebEngine 24.01.12
  • Доработаны система мониторинга SEO-оптимизации и элемент Место в структуре (спасибо ZS Москва):
    • Устранены проблемы при формировании огромных файлов sitemap.xml

Zion WebEngine Zion SEO Booster SEO-параметры XML/RSS/1С/YML Место в структуре Мониторинг Элементы Как оптимизировать сайт под поисковые системы?

Zion WebEngine 24.01.12
  • Доработано меню администратора для пакета Zion Export:
    • Скорректировано описание возможностей пакета
    • Скорректированы названия пунктов меню

Zion Export Что такое Меню администратора? Импорт/Экспорт Меню администратора

Zion WebEngine 24.01.03
  • Доработан класс для управления проектом:
    • Внедрены новые стандарты CMS

Zion WebEngine Что такое CMS Zion WebEngine? Классы

Zion WebEngine 23.12.26
  • Доработан класс для управления экспортом данных в YML (спасибо Moto-Retail18):
    • Учтены новые требования к кодировке от Яндекс.Маркет
    • Реализована обработка спецсимволов, недопустимых в Товарах сообществ VK.com

Zion Export XML/RSS/1С/YML Импорт/Экспорт Классы Кодировки/Наборы символов Что такое Классы?

Zion WebEngine 23.12.22
  • Доработан класс для управления типами (спасибо МедИнвест):
    • Теперь при просмотре списка контента в административном интерфейсе системные столбцы отображаются раньше дополнительных

Zion WebEngine Административный интерфейс Классы Контент/Контентные единицы Типы Как управлять сайтом?

Zion WebEngine 23.12.21
  • Доработана система мониторинга для Ядра:
    • Ещё некоторые уведомления теперь не отображаются при работе на локальном веб-сервере
  • Доработаны классы для управления типами и базой данных:
    • Реализована возможность скрывать/отображать любые системные столбцы при просмотре списка контента в административном интерфейсе
  • Доработаны элементы Число и Дата:
    • Более корректно отображаются кнопки для массового изменения значений в соответствующих столбцах

Zion WebEngine Zion Pub Hub Что такое система Мониторинга? Административный интерфейс База данных/Таблицы данных Веб-сервер/Хостинг Дата/Время/TimeMashine Классы Контент/Контентные единицы Мониторинг Типы Уведомления Число Элементы

Zion WebEngine 23.12.20
  • Доработаны классы для управления обновлениями CMS на стороне клиента и на стороне сервера (спасибо Пермский период):
    • Устранены некоторые недочёты при отправке и при сохранении статистических данных об установленном комплекте поставки

Zion WebEngine Zion Server Веб-сервер/Хостинг Классы Обновления CMS Что такое Классы?

Zion WebEngine 23.12.18
  • Доработана система мониторинга SEO-оптимизации (спасибо Куединский Мясокомбинат):
    • Теперь в файл sitemap.xml не попадают контентные единицы, у которых в шаблоне нет элемента HTML-код веб-страницы

Zion SEO Booster HTML-код веб-страницы SEO-параметры XML/RSS/1С/YML Контент/Контентные единицы Мониторинг Шаблоны контента Элементы Элемент "HTML-код веб-страницы"

Zion WebEngine 23.12.13
  • Доработаны некоторые библиотеки файл-менеджера KCfinder:
    • Улучшена совместимость с актуальными версиями PHP

Zion WebEngine PHP Файл-менеджер

Zion WebEngine 23.12.08
  • Доработаны классы для управления email-сообщениями и Google reCAPTCHA:
    • Теперь при настройке соответствующих параметров кнопка Помощь на панели инструментов ведёт на статью о настройке плагинов форм обратной связи и обратного звонка

Zion WebEngine Zion Mail Back Email-сообщения Классы Обратная связь/Обратный звонок Плагины Спам Формы Плагины Mailback и Callback

Zion WebEngine 23.12.07
  • Доработан класс для управления обновлениями CMS на стороне клиента:
    • Устранены некоторые недочёты при отправке статистических данных об установленном комплекте поставки

Zion WebEngine Что такое Комплект поставки? Веб-сервер/Хостинг Классы Обновления CMS

Zion WebEngine 23.11.24
  • Доработан класс для управления обновлениями CMS на стороне сервера:
    • Устранены некоторые недочёты при сохранении статистических данных об установленном комплекте поставки

Zion Server Что такое CMS Zion WebEngine? Веб-сервер/Хостинг Классы Обновления CMS

Zion WebEngine 23.11.23
  • Доработаны класс для управления проектом и класс для управления обновлениями CMS на стороне сервера:
    • Устранены некоторые недочёты при сохранении статистических данных об установленном комплекте поставки
  • Доработан элемент Дата:
    • Реализована возможность включить для дат режим "только для чтения" при правке записи в административном интерфейсе
    • При просмотре списка записей в административном интерфейсе стало доступно массовое изменение значения в столбце для всех записей выбранного типа
      • Можно указать одинаковое значение для всех записей
      • Можно сбросить значение до "нулевого"

Zion WebEngine Zion Pub Hub Zion Server Административный интерфейс Веб-сервер/Хостинг Дата/Время/TimeMashine Классы Обновления CMS Элементы Что такое Элементы?