Плагины 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 является бесплатной системой. Развивается за счёт рекламы, помощи ООО "Зион" и других спонсоров.

 

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

 

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

 

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

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

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

Zion WebEngine 24.04.05
  • Доработаны административные JS-скрипты (спасибо ТК Кило):
    • Удалён устаревший, более не использующийся функционал

Zion WebEngine

Zion WebEngine 24.04.03
  • Доработан класс для управления базой данных (спасибо Киокушин Online):
    • Устранена проблема с невозможностью выбора того, между какими разделами нужно вставить новый раздел в форме Добавление новой записи

Zion WebEngine База данных/Таблицы данных Классы Контент/Контентные единицы Формы Как редактировать Контент?

Zion WebEngine 24.04.01
  • Доработан плагин универсального меню (спасибо Moto-Retail18):
    • Теперь в пагинации (в списке подстраниц) ссылки автоматически используют (частичный или полный ЧПУ), что позитивно влияет на SEO-оптимизацию

Zion WebEngine SEO-параметры Адрес (URL)/ЧПУ/Переадресация Меню/Списки/Навигация Пагинация/Подстраницы Плагины Как оптимизировать сайт под поисковые системы?

Zion WebEngine 24.03.28
  • Доработан монитор очистки после обновления CMS (спасибо Киокушин Online):
    • Более корретно реализована автоматическая корректировка шаблонов для учёта обновлений в элементах

Zion WebEngine Что такое система Мониторинга? Мониторинг Обновления CMS Шаблоны контента Элементы

Zion WebEngine 24.03.26
  • Доработан элемент Связи (спасибо MasterProfi):
    • Расширены возможности некоторых плагинов

Zion WebEngine Связи Элементы Что такое Элементы?

Zion WebEngine 24.03.22
  • Доработаны элемент Связи и  административные JS-скрипты (спасибо MasterProfi):
    • Доработана настройка связей между пользователями и контентом:
      • Теперь для связей пользователей с контентом доступен весь функционал, доступный для связей контента с контентом

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

Zion WebEngine 24.03.20
  • Доработан элемент Однострочное поле (спасибо GL Technology):
    • Создан новый плагин stringfield_Replace, позволяющий в указанной строке заменять одну подстроку на другую

Zion Catalog Однострочное поле Плагины Поиск текста Элементы Что такое Плагины?

Zion WebEngine 24.03.19
  • Доработан элемент Связи (спасибо MasterProfi):
    • Устранены недочёты при автоматической корректировке таблиц данных

Zion WebEngine База данных/Таблицы данных Связи Элементы Что такое Элементы?

Zion WebEngine 24.03.18
  • Доработаны элемент Связи, класс для управления пользователями и  административные JS-скрипты (спасибо MasterProfi):
    • Доработана настройка связей между пользователями и контентом:
      • Внешне настройка существующих связей и связей с контентом определённого типа уже выглядит также, как настройка связей контента с контентом:
        • Некоторые возможности будут внедрены в ближайших обновлениях

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

Zion WebEngine 24.03.14
  • Доработаны элемент Связи и административные JS-скрипты (спасибо MasterProfi):
    • Реализована тонкая настройка связей между пользователями и контентом:
      • Настройка делается для каждой группы пользователей отдельно
      • Теперь здесь доступны все те же настройки, что и в случае связей контента с контентом:
        • Некоторые возможности будут внедрены в ближайших обновлениях

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

Zion WebEngine 24.03.04
  • Доработан класс для управления импортом данных о товарах из 1С/XML (спасибо Moto-Retail18):
    • За счёт оптимизации уменьшено количество обращений к базе данных

Zion Import XML/RSS/1С/YML Импорт/Экспорт Классы Сайт-каталог Как импортировать данные о товарах из XML

Zion WebEngine 24.02.12
  • Доработаны класс для управления шаблонами и монитор очистки после обновления CMS (спасибо Энерго-Профи):
    • Теперь при обновлении CMS и при открытии на редактирование любого из шаблонов в таблице данных шаблонов автоматически будут созданы все недостающие столбцы, необходимые для работы элементов

Zion WebEngine База данных/Таблицы данных Классы Мониторинг Обновления CMS Связи Шаблоны контента Элементы Что такое Шаблон контента?

Zion WebEngine 24.02.07
  • Доработаны элемент Связи и административные JS-скрипты (спасибо ТК Кило):
    • Удалён устаревший, более не использующийся функционал

Zion WebEngine Связи Элементы Что такое Элементы?

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 Доступы/Пользователи Контент/Контентные единицы Связи Типы Элементы Что такое Контент?