[BETA] unsubscribeme - отписка от массовых рассылок

Отписка от массовых рассылок через ссылку 'mailto' в письме

Начиная с версии 3.1.x, моды были заменены "расширениями", которые выполняют ту же самую функцию, но без изменений в исходном коде движка.
Аватара пользователя
c61
Разработчик модов
Сообщения: 249
Зарегистрирован: 24.08.13 16:46
Благодарил (а): 20 раз
Поблагодарили: 62 раза

[BETA] unsubscribeme - отписка от массовых рассылок

Сообщение c61 »

unsubscribeme: Unsubscribe 'mailto' link in admin mass mailing emails body
phpBB 3.1 extension

copyright (c) 2015 c61@yandex.ru http://c61.no-ip.org
license http://opensource.org/licenses/gpl-license.php GNU Public License


unsubscribeme: Отписка от массовых рассылок через ссылку 'mailto' в письме

Расширение добавляет в письма, отправляемые администратором через "Массовую расылку почты" Администраторского раздела, ссылку на отписку от рассылки в виде 'mailto' на заданный почтовый ящик, периодически проверяемый задачей планировщика Cron phpBB, выполняющей отписку пользователя при обнаружении соответствующего письма.

Зачем это надо ? Затем, что наличие возможности отписки от рассылки является требованием многих почтовых сервисов к осуществлению массовых рассылок, а также потому, что пользователи, получившие нежелательные письма, могут пометить их как спам со всеми вытекающими последствиями (слишком большой показатель нажатий на кнопку "спам" ведет к последствиям, которые декларирует международный закон борьбы со спамом).
Инструмент для отписки должен быть неотъемлемой частью всех массовых рассылок, такая практика принята во многих странах мира и кое-где такие требования регулируются законом.

Как можно решить проблему в phpBB иными способами:
- казалось бы, проще всего добавлять в тело письма ссылку на url (с уникальным идетнификатором пользователя), по клику на которую выполняется скрипт отписки от рассылки, но не тут то было: SMTP оказывается совершенно неэффективен, если в настройках указать отправку только 1 письма за раз и, кроме того, в phpBB 3.1 не предусмотрено событие ядра, позволяющее изменять тело письма для отправки каждой порции писем;
- пусть отправляется по 1 письму за раз, но тогда можно использовать в заголовке List-Unsubscribe, однако, заголовки тоже невозможно модифицировать;
- можно придумать еще несколько способов, но, на мой взгляд, предлагаемый наиболее прост.

ВНИМАНИЕ !!! Необходимые условия работы расширения:
- для массовой рассылки почты необходимо включить и настроить SMTP;
- для PHP должно быть подключено расширение imap;
- должен использоваться почтовый ящик на сервере, поддерживающем IMAP, SSL и возможность добавления уникальных идентификаторов после имени ящика (перед "@") и символа "+" (например, myemail+unsubscribeme@yandex.ru), этим условиям удовлетворяют почтовые сервисы google, yandex, mail.ru и др.;
- для отписки от массовых расылок лучше завести отдельный ящик - только для этих целей, поступающие письма не должны попадать в спам, желательно, чтобы не было правил обработки почты, перекладывающих эти письма (а они помечаются ключевым словом "+unsubscribeme" после имени ящика отправителя перед "@") из входящих в другие папки.

Если вышеперчисленные условия не соблюдены - ничего работать не будет. Если же соблюдены и все равно не работает - разбирайтесь сами, ищите ошибки и сообщайте. У меня работает на yandex.ru, проблем не наблюдаю. На других почтовых сервисах не проверял.


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

Необходимое условие работы дополнения расширения:
- разрешение записи файлов скриптами PHP в каталог конференции '/language/язык/email', при отсутствии указанного разрешения будет использоваться способ создания текста сообщения из шаблонов, принятый в phpBB по умолчанию.

В своем шаблоне могут использоваться переменные '{SITENAME}', '{CONTACT_EMAIL}', '{MESSAGE}', '{EMAIL_SIG}', '{UNSUBSCRIBEME_MAILTO}'.


Установка

Копировать содержимое каталога root в корневую папку конференции с сохранением структуры каталогов (расширения phpBB 3.1 располагаются в /ext).


Особенности:

- для периодической проверки почты используется Cron со всеми вытекающими последствиями в случае, если почтовый сервер долго не отвечает (кстати, рекомендуется задавать период выполнения задачи cron не чаще, чем раз в 20-30 минут);
- после проверки наличия писем на сервере и выполнения отписки пользователей от рассылки все письма с "+unsubscribeme" удаляются.


История версий

0.0.3 - 20151103:
- в текстах везде исправлено 'e-mail' на 'email'
- реализовано дополнение расширения: свой шаблон письма при массовой рассылке

0.0.2 - 20151031:
- текст и mailto перенесены в другое место письма: после сообщения перед подписью

0.0.1 - 20151030:
- первая версия



Скачать:
unsubscribeme_v_0_0_3.zip
(29.81 КБ) 716 скачиваний
unsubscribeme_v_0_0_3.zip
(29.81 КБ) 716 скачиваний
unsubscribeme_v_0_0_2.zip
(26.46 КБ) 681 скачивание
unsubscribeme_v_0_0_2.zip
(26.46 КБ) 681 скачивание

Скриншоты:
ume_adm1.gif
ume_adm2.gif
ume_adm3.gif
ume_adm4.gif
ume_adm5.gif

Тема на моей тестовой площадке тынц

P.S. Припоминаю:
Shredder писал(а):Помнится, c61 хотел реализовать эту возможность для 3.0, но потом забил
Таки не забил :lol:
Beer
Сообщения: 13
Зарегистрирован: 27.01.18 02:57
Благодарил (а): 2 раза
Поблагодарили: 1 раз

[BETA] unsubscribeme - отписка от массовых рассылок

Сообщение Beer »

Перечитал но не вкурил - после отписки юзер в какую-то группу попадает или каким образом будет игнорироваться рассылка ему очередного сообщения?
В админке при создании рассылки выбираются группы для рассылки либо все.

Я сделал групу, "Без рассылок" и хочу в нее переводить для наглядности.
Ответить