Отправить уведомление по электронной почте после добавления нового контента


11

Некоторые люди отказываются узнавать о RSS и хотят, чтобы они могли (например, через какую-либо форму) дать мне электронное письмо (без регистрации), и они будут автоматически уведомлены о новом контенте.

Не могли бы вы помочь мне, как добиться этой функциональности в Drupal 7? Я слышал о трех модулях, которые могут помочь: правила, подписки и уведомления. Только первая из них работает в Drupal 7. Не могли бы вы настроить эту функцию с помощью какого-нибудь подходящего модуля?


Когда вы говорите «без регистрации», подразумеваете ли вы, что они хотят получать уведомления о новом контенте, не имея учетной записи на вашем сайте?
kiamlaluno

@kiamlaluno, это странное требование. Они не хотят регистрировать пользователей, но хотят получать уведомления по электронной почте. Я понимаю, что это немного громоздко (это сайт для компании, и посетители будут их работодателями), поэтому я думаю, что мне следует собирать их электронные письма, а затем не принимать новые электронные письма из-за возможности спама.
xralf

Это довольно странное требование, которое исключает множество возможных кандидатов.
kiamlaluno

Ответы:


19

Правила лучше всего подходят для этого, это зависит от Entity API.

  • Простая загрузка и включение их из Admin -> Модули
  • Теперь следуйте Админ -> Конфигурация -> Рабочий процесс -> Правила
  • Нажмите на Add new rule
  • Определите имя, например "New content email notification", выберите 'After Saving new content'из списка «Реагировать на событие» и нажмите «Сохранить».
  • На следующей странице событие уже определено, здесь не нужно указывать никаких условий, перейдите в раздел «Перейдите к действию» и нажмите Add action
  • Введите адрес электронной почты получателя в Toполе
  • Заполните тему и сообщение, из полей. (Номер шаблона замены доступен для включения в текст)

например, новое содержимое [узел: заголовок] добавлено [узел: автор] типа [узел: тип] на [узел: создано].

  • Хит сохранить
  • В настройках fieldset обязательно установите флажок Active.

Спасибо за этот идеальный ответ. Работает, но пишет сообщение об ошибке только после создания нового контента. Notice: Undefined offset: 0 in node_tokens() (line 140 of /var/www/modules/node/node.tokens.inc).Как вы думаете, я могу это исправить?
xralf

И сохранение нового контента идет очень медленно. Кажется, что он отправляет электронную почту при сохранении. Я изучил конфигурацию, могу ли я отправить электронное письмо через 2 минуты после создания нового узла, но, похоже, такой возможности нет.
xralf

7

... альтернативно, если вам нужно сделать это программно (не через модуль правил ), вы можете подключиться к hook_node_insert () и захватить объект $ node, а затем делать с ним то, что вы хотите.


2

Правила сделают именно это:

Примеры использования
- Создание гибких изменений рабочих процессов публикации контента
- Отправка настроенных писем для уведомления пользователей о важных
- Создание пользовательских перенаправлений, системных сообщений, хлебных крошек, ...

Вам нужна помощь в настройке?


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

Как сделать так, чтобы система отправляла уведомление из правила, например, каждые 2 часа и суммировала весь новый контент? Не уверен, стоит ли мне задавать новый вопрос для этого ..
Азз Кава
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.