bxSender

Массовая рассылка e-mail сообщений
Автор дополнения
Андрей Степаненко
Пакетов
25
Закачек
6 277
Обычно отвечает более недели
Автор дополнения
Пакетов
25
Закачек
6 277
Обычно отвечает более недели
Версия 1.0.25-pl
Дата выпуска 30.07.2022
Загрузки 125
Просмотры 11 645
Компонент для массовой рассылки на e-mail и управления подписками пользователей с фронтенда. Так же ведется статистика по отправляемым письмам, можно видеть как пользователи открывают письма, переходят по ссылкам из письма, отписываются от рассылки, управляют листами для подписки.

Возможности


  • Управление подписками — на фронтенд добавлены сниппеты: форма для подписки новых пользователей, форма восстановление доступа к подписке и форма управление подпиской
  • Подписчики — это email адреса и имена подписчиков для рассылок, с возможностью импортировать из CSV файла, из списка пользователей MODX, групп пользователей MODX и добавление в ручную
  • Сегменты — создание сегментов для добавление подписчиков. При создании рассылки выбираются получатели находящиеся в сегменте
  • Отписавшиеся — это список с e-mail адресами которые отписались
  • Рассылки — создание рассылок для подписчиков с возможностью настроить индивидуальные шаблоны писем и системой автоматической статистики по запущенной рассылки.
  • Отчет рассылок — статистика по отправленным письмам с фильтрами и статистикой о действиях пользователей, таких как:
    • Прочитали — получатель прочел письмо
    • Открыли — переход по ссылке из письма
    • Отписались — отписка из письма
    • Отказы — отскоки доставки сообщений
    • Ошибки отправки — ошибки во время отправки сообщений
  • Ошибки доставки — список e-mail адресов с отскоками доставки сообщений
  • Транспорт отправителя — настройки для отправки писем с вашего сервера или SMTP, с возможность задать интервал отправки сообщений и количества писем в 1,2,3,5,10,15,30 минут
  • Обратный путь — настройки POP3 соединения откуда будут забираться отскоки и записывается в списке с ошибками доставки

Заказы minishop


В настройках возможно включить параметры minishop2_status_change чтобы все сообщения из minishop2 проходили через bxSender.
После включения в списке заказов мы увидим наши сообщения, а так же можем посмотреть их содержимое и состоянию отправки.


В списке сообщений отображается:
  • Кому — менеджеру или пользователю
  • Статус заказа — указывается на каком статусе было отправлено это сообщение
  • Состояние отправки — sent — отправлено, error — произошла ошибка во время отправки
  • Создан — дата создания сообщения
  • Действия — посмотреть сообщение



Статистику по отправки сообщений вы можете все так же посмотреть в разделе компонента Отчеты рассылок



Дополнительно добавлены настройки для:
bxsender_do_not_send_messages — при включении сообщения будут попадать в очереди, и не будет отправлять на e-mail

Быстрый старт


Все основные моменты есть в видео инструкции.
Под видео размещены необходимые сниппеты для управления с фронтенда.



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


С помощью этого сервиса вы можете создать нужный шаблон, экспортировать его в html и подключить в компонент для дальнейшей рассылки: https://stripo.email/ru/

Сниппеты для управления подпиской


Сниппет с формами работают через сниппет AjaxForm.

Подписка на рассылку

сниппет выводит форму для создание новых подписок с возможностью указать E-mail, Имя и выбрать сегменты на которые разрешено подписываться пользователю.
[[!bxSubscribe]]

Восстановление доступ

сниппет выводит формы с полем e-mail, для отправки письма со ссылкой на управление подпиской
[[!bxSubscribeRestore]]

Управление подпиской

сниппет выводит формы где возможно изменить Имя, сегменты и статус подписки (Отписан или Подписан). Доступ к этой форме возможно получить только из письма или через восстановление доступа.
[[!bxSubscribeManager]]

Внимание, по умолчанию используется системная страница, но вы можете указать ID страницы в настройках bxsender_page_confirmationemail и разместить туда сниппет.

Подтверждение E-mail

Сниппет проверяет hash в URL и активирует E-mail адрес для рассылки.
[[!bxSubscribeConfirmation]]

Внимание, по умолчанию используется системная страница, но вы можете указать ID страницы в настройках bxsender_page_confirmationemail и разместить туда сниппет.

Правила NGINX/APACHE для прочтения


Это правило нужно для того чтобы можно было отследить статистику по прочитанным сообщениям.
location ~ ^/assets/components/bxsender/action/open/.*\.(png)$ {
    rewrite ^/assets/components/bxsender/action/open/(.*)$ /assets/components/bxsender/action/open/index.php?queue_hash=$1&$args last;
}

### Код выше должен быть добавлен выше этой строки. Иначе вся статистика сразу будет заблокирована и прочтения не будут учитыватся
location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|bmp|ttf|woff|woff2|svg)$ {
  ........


Дополнительные возможности


  • Добавление сегментов и возможность подписываться на них с фронтенда
  • Импорт подписчиков в выбранный сегмент и файла csv, в ручную и из modx
  • Управление количество отправляемых сообщений в заданном интервале времени (для того чтобы рассылка не выглядела как спам)
  • Отправка сообщений через: SMTP, ваш сервер или через системные настройки MODX
  • Добавление в очередь сообщений из других сервисов для отслеживания статистики (например можно добавлять сообщения из компонента Sendex)

Рассылка
  • Удобный просмотр шаблонов прям из списка
  • Создание не ограниченного количества рассылок, с выбором интересующих сегментов
  • Тестирование отправки сообщений на e-mail адрес чтобы видить как будет выглядеть письмо
  • Удобная визуальная шкала рассылки в процентах и количество разосланных писем
  • Cron задание не обязательно. Рассылка происходит за счет переодических запросов на ajax
  • Возможность отложить рассылку до выбранной даты и времени
  • Возможность поставить на паузу, чтобы продолжить рассылку пузже
  • Возможность копировать рассылку и убирать в не активные


Внимание!!! Статистика по рассылки формируется по степени прочтения и открытий писем пользователями. К примеру если вы завершил рассылку час назад, не стоит ожидать что все те, кому вы отправили письмо моментально прочтут вашу почту. Зайдите проверить статистику хотябы через 6 часов после рассылки.

Статистика писем
  • Прочитано — при открытии письма пользователе в почтовом клиент, информация об открытии автоматически передается в компонент
  • Открыли — каждая ссылка заменяется на страницу компонента за счет чего мы можем отслеживать количество переходов из письма (все ссылка в письме автоматически заменяются)
  • Ошибка доставки — получение статистики по не отправленным письмам, с последующей блокировкой email адрес после нескольких ошибок отправки
  • Отказы — в случае если email подписчика уже отписывается от рассылки или у него произошла ошибка доставки, то ему автоматически устанавливается этот статус и письмо не отправляется
  • Возможность просматривать каждое отправленное сообщение, чтобы видить что именно было отправлено пользователю


Шаблон сообщения
  • Подключаемые шаблоны из файл через pdoTools
  • Поддержка CSS в шаблоне рассылок
  • Уникальный плейсхолдеры подписчика и пользователя (если он зарегистрирован)
  • Добавление UTM меток к ссылкам в письме для ведения статистики в Яндекс метрике и Google анадитикс
  • Открытие шаблона сообщения в браузере, где можно выполнять верстку этого сообщения

Подписка на рассылку во время создания заказа minishop2


Чтобы автоматически создавалась подписка при оформлении заказа через minishop2 необходимо в настройках указать bxsender_minishop_order_subscribe ID сегментов на которые будет подписан пользователь.
И добавить в чанк с формой оформления заказа код
<form>
.......................
<div class="row">
        <div class="col-12 col-md-12" >
                <div class="form-group row">
            	<label class="col-sm-3 control-label">Рассылка</label>
            	<div class="col-sm-9">
            	    <input type="checkbox" class="subscribe" name="subscribe" id="subscribe" value="1" checked onchange="this.checked ? $(this).val(1): $(this).val(0)">
            		<em>Согласен на получение новостей и других рассылок</em>
            		<p class="help-block message"></p>
            	</div>
            </div>
        </div>
    </div>
.......................
</form>

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

Создание подписки при регистрации


Вы можете автоматически подписывать пользователей при регистрации на сайте просто добавив в форму вот такой код:

// Office
<form>
.........
<div class="form-group row">
    <label class="col-sm-3 control-label">Рассылка</label>
	<div class="col-sm-9">
		[[!bxSubscribeSegments? &tpl=`office.tpl.bxSender.Segments`]]
		<em>Вы можете подписаться на рассылку наших новостей</em>
		<p class="help-block message"></p>
	</div>
</div>
.........
</form>

Шаблон office.tpl.bxSender.Segments

{if count($segments) > 0}
    {foreach $segments as $segment}
        <div class="checkbox checkbox-success">
            <label for="segments-{$segment['id']}">
                <input type="checkbox" class="segments" name="extended[bxsender][segments][{$segment['id']}]" id="segments-{$segment['id']}" value="1" {if $segment['checked'] == 'checked'}checked{/if}>
                {$segment['name']}{if $segment['description']}{/if}
            </label>
        </div>
    {/foreach}
{else}
    У нас нет активных подписок
{/if}

Перед сохранением пользователя, на событии OnUserBeforeSave при наличии в запросе:
$_REQUEST['extended']['bxsender']['segments'] = array(
    1 => 1 // Ключ это id сегмента, значение отметка выбранного сегмента
    5 => 1
)
в дополнительные поля профиля в extended
будут добавлены выбранные сегменты.

Во время активации E-mail адрес, для пользователя будет создана подписка с выбранными сегментами.
если подписка уже существовала то она автоматически привяжется к пользователю и переопределяются сегменты подписки

Список подписок в личном кабинете


[[!bxSubscriptions]] выводит список подписок в личном кабинете для авторизованных пользователей
<div class="row">
    <div class="col-md-12">
        Список подписок
        <div id="pdopage">
            <div class="rows">
                [[!pdoPage?
                    &element=`bxSubscriptions`
                    &ajaxMode=`default`
                ]]
            </div>
            [[!+page.nav]]
        </div>
    </div>
</div>


Сервисы для тестирования


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

https://www.mail-tester.com/ — класный сервис но дает отправить в сутки только 3 сообщения
https://dkimvalidator.com/ — проверка ваших SPF, DKIM и на SpamAssassin
https://mxtoolbox.com/dkim.aspx — проверка DKIM
https://toolbox.googleapps.com/apps/checkmx/ — проверка от google

1.0.25-pl

  • Исправлены баг импорта пользователей

Последние обсуждения в сообществе MODX.pro