Помощь начинающим веб
разработчикам

Email рассылка сайта для Drupal 7. Модуль Simplenews.

26.07.2014

Сегодня поговорим, о таком немало важном элементе сайта, как рассылка email уведомлений для подписчиков сайта. Рассылать можно все, что угодно – это может быть новостная рассылка или рассылка с акциями или распродажами интернет магазина, все зависит от ваших потребностей. Для организации рассылки в Drupal, существует не один способ, наверное Google умеют использовать все – но, самым часто используемым является модуль Simplenews.

Хочу заметить, что данный модуль является не самым стабильным и, как правило, при добавлении нового функционала, другая часть просто отпадает, которую fix,яд в следующих dev версиях модуля. Если вас постигла такая учесть, то стоит откатиться на предыдущую версию или же попробовать dev.

Итак, скачать данный модуль можно здесь , с установкой у вас не должно возникнуть проблем.

Хочу заметить, что данный модуль несет в себе 2 компонента (отдельных модуля), это сам модуль Simplenews , который организовывает рассылку для сайта и Simplenews_rules, который интегрируется с Rules .

После активации модуля, вам станет доступен новый раздел Newsletters на странице «Конфигурация» в подразделе «Вебслужбы».

Доступен новый раздел Newsletter

Данный раздел содержит категории рассылок и основные параметры модуля. В качестве категории рассылки вам доступна одна категория по умолчанию

Категории рассылки по умолчанию

Вы естественно можете добавлять свои категории, вас в этом никто не ограничивает, а так же вам стал доступен новый тип материала «Simplenews newsletter» и словарь таксономии «Newsletter».

Тип материала «Simplenews newsletter» - по умолчанию может отправлять рассылку пользователям. Вы так же можете отправлять рассылку любого имеющегося у вас типа материала, достаточно лишь в настройках типа материала поставить чекбокс «Использовать в качестве рассылки»

Добавили свой тип материала в качестве рассылки сайта

После чего, при создании ноды данного типа материала вам будут доступны все категории имеющихся у вас рассылок

Указываем к какой категории рассылок будет относится данный материал

Для отправки рассылки вам необходимо добавить созданную ноду в очередь рассылки, для этого необходимо перейти по ссылке «Рассылка»

Добавляем в очередь рассылки указанную ноду

Где вам необходимо выбрать отправить тестовую рассылку, используется при разработке и тестировании или же отправить рассылку всем подписанным пользователям на данную категорию.

Выбираем как отправить рассылку

После вашего выбора и нажатия кнопки «Отправить» ваша рассылка будет отправлена всем подписанным пользователям с первым запуском Cron вашего сайта.

Словарь таксономии «Newsletter» содержит в качестве терминов все категории ваших рассылок

Категории ваших рассылок в виде терминов

Теперь поясню для чего это сделано. Как вы теперь знаете, можно отправлять рассылку для любого типа материала, а в качестве категории рассылок можно выбирать любую имеющуюся категорию рассылок, которую вы определили в разделе «Newsletters», т.е. вы понимаете, что для одной категории рассылок могут выступать совершенно разные ноды, различных типов материалов, а благодаря данному словарю вы получаете страницы со списками нод, которые относятся к конкретной категории вашей рассылки. Например, вы создали несколько нод различных типов материалов и отнесли их к одной категории рассылки, а что бы получить весь список нод (независимо от типа материала) для данной категории рассылки, вам достаточно лишь перейти на страницу с термином (она же категория рассылки).

Ноды, которые относятся к данной категории рассылки

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

Теперь давайте рассмотрим процесс создания новой категории рассылок. Для этого вам необходимо перейти по пути «Конфигурация -> Веб службы -> Newsletters» и нажать на ссылку «Добавить новую категорию рассылки»

Добавляем новую категорию рассылки

Где необходимо заполнить форму, в качестве обязательных полей для заполнения являются лишь два поля:

  • Имя – имя категории рассылки
  • Тема сообщения – заголовок email письма, которое будет формироваться при каждой рассылки данной категории. Может использовать токены.

Раздел «Настройки подписки»

Настройка подписики

Данный раздел определяет каким образом будет происходить подписка новых пользователей и отписка от данной категории рассылки. Пункт «подписка новых пользователей» имеет 4 значения:

  • Нет – данная категория рассылки не будет показана при регистрации пользователя
  • Вкл – данная категория рассылки будет показана на странице регистрации пользователя и будет отмечена чекбоксом по умолчанию
  • Выкл - данная категория рассылки будет показана на странице регистрации пользователя и не будет отмечена чекбоксом по умолчанию
  • Silent (бесшумный режим) – данная категория рассылки не будет показана при регистрации пользователя, но пользователь будет автоматически подписан на данную категорию рассылки

Пункт «метод подписки и отписки» имеет 3 значения:

  • Скрытый – данная подписка не будет показываться в форме подписки (для блока мультиподписки), а так же будет отсутствовать информация об отписки от данной категории рассылки в теле письма
  • Одиночный – все пользователи, независимо от роли, могут подписываться и отписываться от рассылки без подтверждающего письма
  • Двойной – все анонимные пользователи будут получать письма для подтверждения подписки / отписки, зарегистрированные пользователи могут подписываться / отписываться от рассылки без подтверждающих писем

Чекбокс «Блок подписки» - если отмечен, то будет создан отдельный блок для подписки на данную категорию.

Раздел «Настройки электронной почты»

Данный раздел содержит основные настройки отправки письма

Основные настройки отправки письма

Пункт «формат письма» - определяет формат тела письма и имеет 2 значения:

  • Plain – в теле письма будут удалены HTML теги
  • HTML – в теле письма будут использоваться HTML теги (как настроить рассылку в формате HTML, вы можете прочитать здесь)

Пункт «Приоритет email» - данный пункт выставляет приоритет письма и по сути является в настоящее время бесполезным, ибо большая часть почтовых сервисов приоритет больше не учитывают.

Чекбокс «Запрос подтверждения в получении» - определяет статус, получил ли пользователь email или нет.

Раздел «Отправляемая информация»

Данный раздел лишь определяет от кого и с какого email будет отправлена рассылка – псевдозначения. Данные значения лишь подставляются при формировании рассылки.

От кого и с какого email будет отправляться рассылка

Раздел «Тема рассылки» уже сказал выше для чего нужен, а именно для формирования заголовка email письма, может использовать токены.

Тема рассылки

Раздел «Преобразование HTML в тексте» - данный раздел используется лишь, когда вы указали в качестве формата письма значение – Plain. Имеет лишь 2 значения

  • Добавить гиперссылки как список нумерованных ссылок – все ссылки вашего письма будут выбраны в нумерованный список
  • Показывать гиперссылки в тексте – все ссылки в вашего письма останутся без изменений
Используется только, когда вы выбрали формат письма Plain

С добавлением новой категории рассылки разобрались, теперь данная категория доступна для всех типов материалов, которые используются для рассылки, а так же появился дополнительный термин таксономии с названием этой категории, в словаре «Newsletter», можете проверить это самостоятельно.

Теперь переходим к настройкам модуля Simplenews. Настройки находятся там же, где и список рассылок, в отдельном табе - «Настройки». Настройки поделены на 3 основных раздела:

  • Рассылка – определяет основные параметры рассылки по умолчанию
  • Подписка – определяет правила подписки / изменения / отписки для пользователя
  • Отправить письмо – определяет правила отправления рассылок
Основные разделы настройки модуля

Раздел «Рассылка»

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

  • Параметры рассылки по умолчанию
  • Тестовый адреса
  • Отправляемая информация

Теперь подробнее:

Подраздел «параметры рассылки по умолчанию» - данный подраздел определяет основные параметры рассылки, такие как:

  • формат email
  • приоритет
  • запрос на подтверждение в получении
  • процесс отправки по умолчанию

Все эти параметры мы рассмотрели при создании новой категории рассылки, поэтому повторять не будем. Единственным не рассмотренным пунктом является «Процесс отправки по умолчанию» , который определяет как будет отправлена рассылка – на тестовый адрес email при тестировании или же всем подписанным пользователям.

Выбираем как отправлять email рассылку по умолчанию

Подраздел «Тестовый адрес», в данном подразделе мы можем вписать тестовые email адреса рассылки. На данные email будет отправляться тестовая рассылка. Если вы поставите чекбокс напротив «Разрешить аннулирование для тестовых адресов», то при отправке рассылки пользователям данные email не будут учитываться.

Список email адресов при тестировании рассылки

Подраздел «отправляемая информация» - значения данного подраздела были рассмотрены при создании новой категории рассылки, вы это уже знаете.

Раздел «Подписка»

Данный раздел так же поделен на 3 подраздела:

  • Учетная запись пользователя
  • Подтверждение электронной почты
  • Страница подтверждений

Подраздел «Учетная запись пользователя» - определяет синхронизировать ли учетную запись пользователя с подпиской. Если чекбокс отмечен, то подписка будет синхронизирована, т.е. если удаляется пользователь, то и удаляется и email адрес пользователя из рассылки, соответственно, если пользователь заблокирован, то и рассылка на его email будет заблокирована. Если же, чекбокс не отмечен, то подписка не синхронизируется с учетной записью пользователя, и после удаления пользователя на его email будет отправляться рассылка.

Определяет синхронизировать ли учетную запись и подписку

Подраздел «Подтверждения электронной почты» - определяет правила подтверждения / изменения подписки пользователей. Здесь вы можете настроить текст писем для изменений / подписки / отписки пользователей. Есть возможность использовать комбинированные подтверждающие письма, такие письма используются при мультиподписке, например пользователь подписался на одну категорию рассылки и отписался от другой категории рассылки, то в таком случае он получит одно подтверждающее письмо о всех его изменениях. Есть так же выбор, когда стоит использовать комбинированные подтверждающие письма

  • Всегда – будут отправляться, даже если было только одно изменение, например отписка от категории рассылки
  • Никогда – комбинированные письма не будут использоваться
  • Для множественных изменений – будут использоваться, только если пользователь сделал 2 и больше изменения
Определяем правила подписки / изменения / отписки рассылки для пользователя, а так же задаем текст email

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

Как вы можете заметить, что при выборе комбинированных писем для множественных изменений, нам становятся доступны 2 настройки:

  • Письма, подтверждающие единичные изменения – в данном пункте указывается текст email для пользователя, если он произвел лишь одно изменение, например отписка от рассылки
  • Комбинированные письма подтверждения – в данном пункте указывается текст email для пользователя, если он произвел 2 и больше изменений, например отписался от одной рассылки и подписался на другую рассылку (как правило используется при мультиподписке)

Так же для всех подтверждающих текстов можно использовать токены. Список токенов представлен в пункте «Подстановочные шаблоны».

Подраздел «Страница подтверждений» - данный раздел определяет куда перенаправить пользователя после подтверждения подписки или подтверждения отписки. В качестве значений используется существующий url.

Определяем куда перенаправлять пользователя, после подтверждения подписки или отписки. Например: node/555

Если вам необходим редирект на главную страницу, то оставьте поле пустым.

Раздел «» - данный раздел регулирует отправку писем и включает в себя 5 параметров:

  • Использовать Cron для отправки рассылок – если чекбокс отмечен, то все рассылки будут отправляться по запуску cron, не советую отключать вам данный параметр на действующем сайте, отключить можно только для тестирования
  • Кэш – если выбрано «источник контента кеш», то отправляться будет закешированная версия рассылки, т.е. одно письмо будет отправлено всем подписанным пользователям. Если же выбрано «не кешировать», то при каждой отправке письма пользователю, оно будет сформировано заново.
  • Регулирование cron – устанавливает максимальное количество писем отправляемых за один запуск cron.
  • Время удаления писем из буфера – содержит статистику отправки рассылки. Рекомендуется использовать значение – немедленно.
  • Логи email – записывает работу отправки в логи. Используйте только при отладке рассылки.

С основными настройками разобрались. Теперь добавим возможность пользователям подписываться на нашу рассылку. Как я у же упоминал выше для подписки пользователей мы можем использовать как мультиподписку, так и обычную, для конкретной категории подписки. Но для начала нам нужно дать возможность анонимным пользователям подписываться на рассылку, для этого переходим по пути «Управление -> Пользователи -> Права доступа» и для модуля simplenews и поставить чекбокс напротив пункта «Подписка на рассылку» для роли «Анонимный пользователь».

Дали возможность анонимным пользователям подписываться на рассылку

Не забываем после этого сохранить настройки. Как вы наверное помните, что при создании категории рассылки, мы может поставить чекбокс напротив «Блок подписки» - этот чекбокс, если вы не помните, создает отдельный блок для данной категории подписки. Давайте выведем его на сайт, для этого переходим по пути «Структура -> Блоки» и выводим наш блок с категорией подписки (в данном случае с категорией по умолчанию) в необходимый нам регион

Блок подписки на категорию рассылки по умолчанию

Данный блок так же имеет свои настройки:

  • Текстовая информация
  • Поле для ввода email или же можно использовать ссылку на форму мультиподписки
  • Ссылка на страницу термина с категорией подписки (словарь newsletter)
  • Вывод заголовка последней рассылки категории
  • РСС подписка на данную категорию рассылки
Настройки блока для категории рассылки

Если вы будете использовать ссылку на подписку через мультиформу, то форма будет выглядеть так:

Мультиформа для подписки / отписки на рассылку

Кроме того, модуль simplenews, для мультиформы создает отдельный блок, который содержит в себе все категории рассылок, он так же доступен на странице управления блоками.

Мультиформа в блоке для подписки / отписки на категории рассылок

В качестве настроек данный блок содержит лишь текстовую информацию.

Для просмотра всех пользователей подписанных на ваши рассылки сайта необходимо перейти по пути «Управление -> пользователи -> подписанные на рассылку»

Список всех email адресов, подписанных на ваши рассылки

На данной странице вы можете:

  • Отсортировать email адреса по категории рассылки
  • Отсортировать по email адресу
  • Произвести массовую подписку email адресов
  • Произвести массовую отписку
  • Произвести экспорт по указанным параметрам

Теперь подробнее, начнем с массовой подписки email адресов. Для массовой подписки вам необходимо кликнуть по ссылке «Массовая подписка»

Переходим на страницу с  массовой подпиской

Где перед нами будет форма, в качестве обязательных параметров нам необходимо указать:

  • Список email адресов
  • Выбрать категорию рассылки

Так же, если в списке адресов будут email, которые уже ранее отписались от рассылки для указанной категории рассылки, то подписка на них не будет оформлена, но если это вам необходимо, то можно поставить чекбокс напротив «повторная подписка», тем самым все, даже отписавшиеся email будут принудительно подписаны на указанную подписку.

Настройки массовой подписик

Для массовой отписки необходимо кликнуть по ссылке «Массовая отписка»

Переходим на страницу с массовой отпиской

Где нам необходимо заполнить форму, в качестве обязательных полей у нас являются:

  • Список email адресов
  • Категория рассылки, от которой будем отписываться
Настройки массовой отписки

Для экспорта email адресов необходимо перейти по ссылке «Экспорт»

Переходим на страницу экспорта

Где для экспорта нам необходимо выбрать следующие параметры:

  • Статус – выбираем необходимый статус для экспорта
  • Подписка – выбираем необходимый параметр подписки, это может быть как подписанные на рассылку, неподтвержденные на рассылку или отписавшиеся email адреса от рассылки
  • Рассылка – выбираем категорию рассылки для экспорта
Настройки экспорта email

Так же мы можем просмотреть список всех статей, которые предназначены для рассылки пользователям, а так же узнать их статус, категорию рассылки, количество подписчиков. Для этого необходимо перейти по пути «Управление -> Содержимое» и далее таб newsletters

Список всех рассылок

Где мы можем отсортировать рассылки по категориям, а так же отправить в очередь рассылки выбранные ноды, которые, как вы наверное помните, будут отправлены при первом запуске cron.

С работой и настройками модуля мы разобрались, осталось лишь посмотреть, что нам дает второй модуль, который идет в комплекте с simplenews – Simplenews_rules.

Прежде чем использовать данный модуль, у вас естественно должен быть установлен модуль Rules.

В качестве события нам стали доступны:

  • Пользователь успешно подписан
  • Пользователь успешно отписался
Доступные события для модуля rules

Ну а в качестве действия нас стали доступны:

  • Удалить текущий email из текущей категории рассылки
  • Удалить текущий email из всех категорий рассылки
  • Подписать текущий email на рассылку
  • Описать текущий email от рассылки
  • Отправить рассылку
Доступные действия для модуля rules

Например, вы можете показать дополнительно сообщение пользователю, после того как он успешно подписался на рассылку сайта:

Показали дополнительное сообщение после успешной подписки на рассылку

Ну вот, с основными параметрами и работой модуля simplenews вы теперь знакомы, думаю на этом можно закончить.

Узнавай о новых статьях сайта - первым. Просто подпишись на рассылку.

Комментарии (17)

Profile picture for user Александр
марина
02.08.2014

Спасибо большое за подробное объяснение! Теперь наконец-то смогу все настроить правильно. :)

Profile picture for user Александр
Igor
06.08.2014

Присоединяюсь! Огромное спасибо!

Profile picture for user ftomivec
ftomivec
16.10.2014

Подскажите как в теле письма убрать заголовок и ссылку на рассылку ?

Profile picture for user pantey
pantey
17.10.2014

скопировать файлы

simplenews-newsletter-body.tpl.php

и

simplenews-newsletter-footer.tpl.php

в папку с вашей текущей темы сайта и отредактировать как вам необходимо. Сами файлы находятся в папке theme, внутри модуля simplenews.
В файлах есть комментарии, думаю все станет понятно и без особых знаний php.

Profile picture for user Александр
pr0g
20.01.2015

У меня в момент отправки почтовый сервер был не доступен, рассылка выдала сообщение что типа успешно отправила рассылку:

Отправлено: 3, не отправлено: 0.

Разве Simplenews нет проверки, успешно была отправка писем почтовым сервером или нет?

Profile picture for user Александр
onxes@mail.ru
02.02.2015

подпишите

Profile picture for user Александр
татьяна
16.02.2015

Очень толковая статья

Profile picture for user Александр
Юрий
04.03.2015

почему-то в блоке подписки нет строки для ввода e-mail адреса

Profile picture for user ftomivec
ftomivec
17.03.2015

на удаление

Profile picture for user ftomivec
ftomivec
17.03.2015

Скажите пожалуйста, какое действие происходит первым, сборка писем с помощью Rules + Cron или рассылка писем?

Profile picture for user Александр
Алексей
17.06.2015

Подскажите, пожалуйста, как сделать так, чтобы в тело письма добавлялась ссылка на ноду?

Profile picture for user pantey
pantey
19.06.2015

внутри модуля, есть файл

simplenews-newsletter-body.tpl.php

копируете его себе в тему и правите как вам нужно. В комментариях в файле все описано. Не забудьте кэш очистить.

Profile picture for user Александр
Алексей
19.06.2015

Смотрел уже там. Переменной с url ноды не нашёл. Да и вообще как-то там настройки очень ограничены.

Profile picture for user pantey
pantey
19.06.2015

эх, плохо смотрели... там же написано, что объект ноды находится в

$build['#node']

а соответственно URL на ноду там же:

// URL ноды
$nid = $build['#node']->nid;
$url = drupal_get_path_alias('node/'.$nid);

и далее вывести в шаблоне:

<a href="<?php print $url;?>" title="<?php print $title;?>"><?php print $title;?></a>
Profile picture for user Александр
Lermash
02.04.2016

Приветствую! Копирую шаблон в тему, но не перекрывает встроенный. Даже если вырезать из модуля родной шаблон. Естественно, кэш очищаю.

Profile picture for user Александр
Алексей
19.06.2015

После манипуляций с шаблоном перестали заполняться тема письма и имя отправителя...

Profile picture for user Александр
tehfoxen
05.05.2016

Не очень понятно, как вывести сообщение, что пользователь подписан. Подскажите подробнее , как это сделать?

Добавить комментарий

- Оповестить о новом комментарии.
- Все комментарии
- Только мои комментарии