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:
- первая версия
Скачать:
Скриншоты:
Тема на моей тестовой площадке тынц
P.S. Припоминаю:
Таки не забилShredder писал(а):Помнится, c61 хотел реализовать эту возможность для 3.0, но потом забил