Плагины 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 X7.03.17
  • Реализовано добавление неограниченного количества разновидностей наборов характеристик

Zion Catalog Характеристики/Разновидности

Zion WebEngine X7.03.16
  • Расширен функционал элемента контента "Число"
  • Доработано сохранение элемента контента "Характеристики"
  • Более продуманно организовано обновление кэша

Zion WebEngine Zion Catalog Контент/Контентные единицы Кэш/Кеш Характеристики/Разновидности Число Элементы

Zion WebEngine X7.03.15
  • Доработано сохранение характеристик

Zion Catalog Характеристики/Разновидности

Zion WebEngine X7.03.13
  • Устранена ошибка в плагине меню категорий товаров
  • Для временной совместимости старой и новых платформ доработана переадресация для страницы по умолчанию (спасибо Супротек)

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

Zion WebEngine X7.03.12
  • Доработан класс для управления элементом контента "Изображение"
    • Теперь этот элемент недоступен для использования в качестве характеристики

Zion WebEngine Изображение Классы Контент/Контентные единицы Характеристики/Разновидности Элементы

Zion WebEngine X7.03.10
  • Доработан класс для управления характеристиками
    • Упрощена настройка дополнительных параметров для тех элементов контента, которые могут быть использованы в качестве характеристик
    • Реализован быстрый переход к настройкам характеристики из редактора шаблонов контента
  • Доработано сохранение обычных элементов контента
  • Доработаны все элементы контента, которые могут быть использованы в качестве характеристик
  • Доработан класс для управления базой данных
  • Доработаны административные JS-скрипты

Zion WebEngine Zion Catalog Zion Pub Hub База данных/Таблицы данных Классы Контент/Контентные единицы Характеристики/Разновидности Шаблоны контента Элементы

Zion WebEngine X7.03.09
  • Доработан класс для управления характеристиками
    • Устранена ошибка при выборе связанных с характеристикой шаблонов
    • Реализована настройка дополнительных параметров для тех элементов контента, которые могут быть использованы в качестве характеристик
    • Дополнено автоматическое создание таблиц данных
  • Доработан класс для управления базой данных
    • Теперь символ подчёркивания _ недопустим для использования в идентификаторах - будет автоматически заменяться на символ дефиса -.
    • Интеграция с Memcached стала более продуманной
  • Оптимизировано сохранение обычных и уникальных элементов контента
  • В классе для управления элементом контента "Число" реализовано задание параметров для обеспечения возможности настройки таких элементов при использовании их качестве характеристик

Zion WebEngine Zion Catalog База данных/Таблицы данных Классы Контент/Контентные единицы Кэш/Кеш Характеристики/Разновидности Число Шаблоны контента Элементы

Zion WebEngine X7.03.08
  • Доработана SMTP-отправка сообщений из формы обратной связи
    • Учтены особенности задания параметров некоторых почтовых серверов (спасибо ЕЦН)
  • Для использования в качестве характеристик теперь доступны следующие элементы контента
    • Число
    • Выбор одного из вариантов
  • Доработана настройка характеристик

Zion Catalog Zion Mail Back Email-сообщения SMTP/PHP-mail Выбор одного из вариантов Контент/Контентные единицы Обратная связь/Обратный звонок Формы Характеристики/Разновидности Число Элементы

Zion WebEngine X7.03.07
  • Доработано сохранение email-контактов

Zion Mail Back Email-сообщения

Zion WebEngine X7.03.06
  • Устранена ошибка в элементе контента "Адрес" (URL)
  • Оптимизировано сохранение всех элементов контента
  • Доработан класс для работы с базой данных:
    • Новая интеллектуальная система теперь обновляет кэш не при каждом сохранении данных в базу, а только, если выявлено, что новые данные отличаются от старых
    • Если кэш не используется, система также это сама определяет и не делает лишние (в данном случае) проверки
    • Данные изменения не увеличивают, а ещё больше снижают нагрузку на базу данных и ещё больше повышает производительность всей системы в целом

Zion WebEngine Zion Catalog Zion Gallery Zion Pub Hub Адрес (URL)/ЧПУ/Переадресация База данных/Таблицы данных Классы Контент/Контентные единицы Кэш/Кеш Элементы

Zion WebEngine X7.03.05
  • Для дальнейшего ускорения разработки были доработаны следующие классы:
    • Вспомогательный класс для управления обычными элементами контента
    • Класс для управления элементом контента "Многострочное поле с редактором"
    • Класс для управления элементом контента "Многострочное поле без редактора"
    • Класс для управления элементом контента "Изображение"
    • Класс для управления элементом контента "Дата"
    • Класс для управления элементом контента "Галереи"
    • Класс для управления элементом контента "Однострочное поле"
    • Класс для управления элементом контента "Один из вариантов"
    • Класс для управления элементом контента "Число"
  • Устранена ошибка в классе для управления уникальными элементами контента

Zion WebEngine Zion Pub Hub Выбор одного из вариантов Галереи/Слайды Дата/Время/TimeMashine Изображение Классы Контент/Контентные единицы Многострочные поля Однострочное поле Число Элементы

Zion WebEngine X7.03.03
  • Для дальнейшего ускорения разработки были доработаны следующие классы:
    • Вспомогательный класс для управления уникальными элементами контента
    • Класс для управления элементом контента "Многострочное поле с редактором"
      • Также устранена ошибка при сохранении данного элемента в категории
    • Вспомогательный класс для управления обычными элементами контента
    • Класс для управления элементом контента "Галереи"
    • Класс для управления элементом контента "Однострочное поле"
    • Класс для управления элементом контента "Многострочное поле без редактора"
    • Класс для управления элементом контента "Изображение"
    • Класс для управления элементом контента "Один из вариантов"
    • Класс для управления элементом контента "Число"
    • Класс для управления элементом контента "Дата"

Zion WebEngine Zion Catalog Zion Gallery Zion Pub Hub Выбор одного из вариантов Галереи/Слайды Дата/Время/TimeMashine Изображение Классы Контент/Контентные единицы Многострочные поля Однострочное поле Число Элементы

Zion WebEngine X7.03.02
  • Для дальнейшего ускорения разработки были доработаны следующие классы:
    • Вспомогательный класс для управления уникальными элементами контента
    • Класс для управления элементом контента "Адрес" (URL)
      • Также учтена вероятность указания пользователем некорректных параметров
    • Класс для управления элементом контента "Характеристики"
    • Класс для управления элементом контента "SEO-параметры"
    • Класс для управления элементом контента "Основной текст"
    • Класс для управления элементом контента "Место в структуре"
    • Класс для управления элементом контента "Категории"
    • Класс для управления элементом контента "Связи с другими записями"
    • Класс для управления элементом контента "HTML-код веб-страницы"
    • Вспомогательный класс для управления редакторами контента
    • Класс для управления элементом контента "Многострочное поле с редактором"
    • Вспомогательный класс для управления обычными элементами контента
    • Класс для управления элементом контента "Галереи"

Zion WebEngine Zion Catalog Zion Gallery HTML-код веб-страницы SEO-параметры Адрес (URL)/ЧПУ/Переадресация Галереи/Слайды Категории Классы Контент/Контентные единицы Место в структуре Многострочные поля Основной текст Редактор контента/WYSIWYG-редактор Связи Характеристики/Разновидности Элементы

Zion WebEngine X7.03.01
  • Доработан класс для работы с базой данных:
    • Устранены небольшие недочёты с клонированием записей
  • Для дальнейшего ускорения разработки были доработаны следующие классы:
    • Класс для управления элементом контента "Основной текст"
    • Класс для управления элементом контента "SEO-параметры"

Zion WebEngine SEO-параметры База данных/Таблицы данных Классы Контент/Контентные единицы Элементы

Zion WebEngine X7.02.28
  • Доработана форма редактирования рассылаемых писем
  • Для дальнейшего ускорения разработки были доработаны следующие классы:
    • Класс для управления уникальными элементами контента
    • Класс для управления элементом контента "Категории"
    • Класс для управления элементом контента "HTML-код веб-страницы"
    • Класс для управления элементом контента "Связи с другими записями"
    • Класс для управления элементом контента "Основной текст"
      • Также упрощена вставка этого элемента в категории
    • Класс для управления элементом контента "SEO-параметры"
    • Класс для управления элементом контента "Место в структуре"

Zion WebEngine Zion Sender HTML-код веб-страницы SEO-параметры Категории Классы Контент/Контентные единицы Место в структуре Основной текст Рассылки Связи Формы Элементы

Zion WebEngine X7.02.25
  • Устранены некоторые недочёты при работе с базой данных и изображениями

Zion WebEngine База данных/Таблицы данных Изображение

Zion WebEngine X7.02.24
  • Доработано несколько классов
    • Теперь вставка и настройка уникальных элементов в шаблонах веб-страниц и категорий делается проще
    • Создание новых элементов также значительно упрощено
    • Устранены некоторые недочёты

Zion WebEngine Zion Catalog Категории Классы Шаблоны контента Элементы

Zion WebEngine X7.02.22
  • Устранена проблема в элементе контента "Место в структуре"
    • Некорректно работало определение наличия или отсутствия подразделов для указанной веб-страницы
  • Устранена проблема в плагине универсального меню
    • Некорректно работало определение наличия или отсутствия связей для указанной веб-страницы
  • Доработан класс для работы с базой данных
    • Улучшены средства отладки
    • Учтено, что в кэше могут хранится пустые данные (ранее, без учёта такого обстоятельства, данные могли повторно считываться из базы данных и повторно записываться в кэш, что снижало скорость загрузки веб-страниц)
    • Улучшено отображение информации о возможных ошибках при выполнении запросов к базе
    • Улучшена проверка на наличие или отсутствие необходимой таблицы данных при резервном копировании
  • Доработан алгоритм хранения списка недавно просмотренных веб-страниц
    • Теперь этот список ограничен максимальной величиной в 20 записей, чтобы исключить вероятность возникновения ошибок типа "слишком много данных в запросе"
  • Доработано отображение дополнительной информации в административном интерфейсе
  • Продолжен перевод каталога на новую платформу
    • Доработано создание таблиц данных по умолчанию
    • Реализована возможность выбирать список доступных характеристик сразу же после добавления элемента контента "Характеристики" в шаблон
      • Ранее это было возможно только после сохранения шаблона веб-страницы
  • Добавление элементов контента в шаблоны веб-страниц стало более удобным
    • Доработаны административные JS-скрипты
    • Доработан класс для управления шаблонами
    • Доработаны вспомогательные классы для работы с элементами контента

Zion WebEngine Zion Catalog Административный интерфейс База данных/Таблицы данных Классы Контент/Контентные единицы Кэш/Кеш Меню/Списки/Навигация Место в структуре Плагины Платформа Сайт-каталог Связи Характеристики/Разновидности Шаблоны контента Элементы

Zion WebEngine X7.02.21
  • Реализовано полное взаимодействие с Memcached в следующих классах
    • Класс для управления элементом контента "Связи"
    • Класс для управления элементом контента "Основной текст"
    • Класс для управления навигацией по веб-страницам
    • Класс для управления элементом контента "Многострочное поле без редактора"
    • Класс для управления элементом контента "Многострочное поле с редактором"
    • Класс для управления элементом контента "Число"
    • Класс для управления элементом контента "Один из вариантов"
    • Класс для управления элементом контента "Изображение"
    • Класс для управления элементом контента "Характеристики"
    • Класс для управления группами характеристик
    • Класс для управления элементом контента "SEO-параметры"
    • Класс для управления элементом контента "Однострочное поле"
    • Класс для управления элементом контента "Место в структуре"
    • Класс для управления шаблонами веб-страниц
    • Класс для управления типами контента
  • Теперь CMS позволяет одновременно использовать сразу 3 уровня кэширования для снижения нагрузки на систему и для огромного повышения производительности
    1. Кэширование результатов "тяжёлых", но часто используемых функций
    2. Кэширование результатов запросов к базе данных с помощью Memcached
    3. Кэширование результатов формирования веб-страниц в виде файлов
  • Для некоторых элементов контента устранена проблема с очисткой таблицы базы данных при удалении тех или иных элементов из шаблонов веб-страниц

Zion WebEngine Zion Catalog Zion Pub Hub SEO-параметры База данных/Таблицы данных Выбор одного из вариантов Изображение Классы Контент/Контентные единицы Кэш/Кеш Меню/Списки/Навигация Место в структуре Многострочные поля Однострочное поле Основной текст Связи Типы Характеристики/Разновидности Число Шаблоны контента Элементы

Zion WebEngine X7.02.20
  • Реализовано полное взаимодействие с Memcached в следующих классах
    • Класс для управления элементом контента "Категории"
    • Класс для управления контентными единицами (веб-страницами)
    • Класс для управления элементом контента "Дата"
    • Вспомогательный класс для работы с элементами контента
    • Класс для управления элементом контента "Галерея"
      • Также устранена ошибка, в результате которой автоматически создавался пустой слайд
    • Класс для управления элементом контента "HTML-код веб-страницы"
  • Устранена ошибка в классе для работы с базой данных:
    • В случае, когда было необходимо удалить несколько столбцов в таблице, удалялся только один

Zion WebEngine Zion Gallery Zion Pub Hub HTML-код веб-страницы База данных/Таблицы данных Галереи/Слайды Дата/Время/TimeMashine Категории Контент/Контентные единицы Кэш/Кеш Элементы