Як я можу дозволити користувачам отримувати електронні листи щоразу, коли я оновлюю свій блог у Drupal 7?


11

У мене є блог англійською та японською мовами на Drupal 7. Я створив цей блог за допомогою користувацького типу вмісту та переглядів, а не вбудованого блогового модуля.

У мене є RSS-канал (зроблений у Переглядах) для кожної мови. Я хотів би дозволити користувачам підписатися, щоб отримувати всі англомовні оновлення типу вмісту "блог" або всі оновлення на японській мові до типу вмісту "блог". (Я припускаю, що більшість користувачів захочуть лише одну або іншу мову. Якщо користувач дійсно хоче обидві мови, я не проти зробити їх підпискою двічі.)

Я розглядав можливість використання Feedburner для RSS-каналів, але модуль Feedburner не оновлювався для D7, і я скоріше не покладаюся на зовнішню службу. (Коли я спробував налаштувати Feedburner без модуля, він сказав мені, що моя RSS-стрічка не існує, навіть якщо посилання підтримки дозволило мені перевірити її.)

Я також переглянув модуль Simplenews , але цей модуль, очевидно, вимагає створення кожного повідомлення бюлетеня окремо. Що я хочу зробити - це автоматично підписані користувачі електронною поштою, коли я публікую оновлення в блозі.

Я впевнений, що існує багато способів зробити це, але є так багато модулів типу "помічник пошти", що я в збитку з того, з чого почати.

Щоб узагальнити мої вимоги, я хочу:

  • Автоматично надсилати електронну пошту, коли додається нове повідомлення у відповідному мові.
  • Як автентифіковані, так і анонімні користувачі повинні мати можливість передплатити.
  • Підписка повинна вимагати підтвердження (юридична вимога).
  • Сумісність з модулем MIME Mail буде приємним бонусом.

Відповіді:


1

Інший варіант - використання Google Feedburner для надсилання електронного листа від вашого імені.

Для отримання додаткової інформації див документацію в Інтернеті .

Щойно Google Feedburner спалює ваші канали, ви можете отримати вбудований код для форми реєстрації, щоб користувачі могли отримувати сповіщення електронною поштою. Причина, чому це так добре відповідає вашим потребам, полягає в тому, що все обертається навколо того, щоб мати якісне джерело RSS-каналу, і перегляди здатні це зробити. Єдине справжнє запитання - чи хочете ви мати повний вміст або тизер лише у RSS (і, отже, в електронній пошті).

Ще одна перевага, яку має вищевказаний варіант бюлетеня / тригера, полягає в тому, що він надсилає лише щоденний дайджест, тому максимум 1 електронний лист надсилається на день для кожного записаного RSS-каналу. Це запобіжить спаму ваших лояльних підписників, коли у вас є активні дні.

До функцій Google Feedburner належать (безпосередньо з вищевказаної документації):

Управління підпискою

  • Перегляд і сортування списку
  • Активуйте, деактивуйте та видаліть окремі адреси електронної пошти
  • Експортуйте свій список у форматі Excel або CSV
  • Отримуйте необов’язковий електронний лист, коли люди скасують підписку

Налаштування спілкування

  • Налаштуйте тему та текст тексту електронного листа, який надсилається підписникам після того, як вони ввімкнуть отримання вашої стрічки електронною поштою. Це може стати в нагоді, якщо ви хочете локалізувати електронну пошту.
  • ВАЖЛИВА ПРИМІТКА. Електронні листи є лише текстовими, і оригінальна посилання $ {potvrmlink} повинна бути включена у ваш електронний лист для підтвердження, щоб активувати підписку.

Брендінг електронної пошти

  • Налаштуйте тему та назву електронного листа, який надсилається вашим підписникам
  • Додайте спеціальний логотип, який з’являється вгорі HTML-повідомлень електронної пошти
  • Змініть текстові шрифти, розміри та колір тексту, а також заголовки тексту, а також колір посилань

Варіанти доставки

  • Виберіть свій часовий пояс
  • Виберіть двогодинне вікно доставки, в межах якого буде надсилатися щоденна дайджест

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


Дякую, що запропонували Feedburner, але, як було зазначено в оригінальному запитанні, він відмовився спалювати мої канали, незважаючи на те, що він зміг їх перевірити. Точна помилка, яку вона мені дає, - "Отриманий код помилки HTTP 400 під час отримання вихідного каналу."; однак, коли я натискаю на посилання "Підтвердити цей канал" на сторінці помилки, воно повідомляє мені, що канал дійсний. На жаль, Feedburner також не має варіантів підтримки.
Патрік Кенні

У мене була така ж помилка, наша проблема полягала в тому, що Feedburner Google не підтримує SSL. Просте рішення - дозволити доступ HTTP до каналу.
wiifm

1
Якщо дозвіл HTTP на доступ до каналів не є можливим, в недавньому проекті ми фактично розповсюджували RSS-канал через Google Reader, а потім у канал подачі даних (брудно, але це працює). Ось приклад каналу цього процесу feeds.feedburner.com/TranspowerNewsFeed - оскільки весь сайт transpower.co.nz захищений під HTTPS
wiifm

Нагородивши цю відповідь нагородою за те, що виявляється, що мені було набагато простіше створити Feedburner, навіть змусивши перенаправляти SSL через Google Reader, ніж користуватися Simplenews.
Патрік Кенні

5

Це можна легко придбати. Я можу дати вам кілька кроків, які слід виконати.

Насправді є принаймні два способи досягти цього

A. Використання тригерів (основний модуль)

  1. Спочатку активуйте тригери основного модуля. Це забезпечить вам основні тригери (у вашому випадку тригер UPDATE) та дії, які потрібно виконати, коли умова виконана.

  2. Перейдіть у розділ Адміністратор> Конфігурація> Дії, а потім СТВОРИТИСЯ ДОПОМОГА ДІЯ, а потім виберіть: Надіслати електронну пошту. У полі одержувача потрібно вибрати належний маркер, наданий модулем simplenews, щоб відповідати всім зареєстрованим користувачам. (переконайтеся, що у вас також встановлений модуль Token)

  3. Перейдіть до Адміністратора> Структура> Тригери, потім вкладка Вузол. Виберіть третій: TRIGGER: ПІСЛЯ Збереження оновленого вмісту.

Якщо вам потрібно більше контролю, тоді застосуйте гачок

функція YOURMODULE_trigger_info_alter (& $ тригери) {// Тут dpm ($ тригери), щоб побачити, де ваш тригер оновлення та внести зміни. }?>

B. Використання правил (модуль внеску) Базові те саме. Якщо ви застрягли, виконайте ці кроки у подібному питанні в цьому блозі: http://adellefrank.com/blog/how-to-email-notifications-comments-drupal7


1
"TRIGGER: ПІСЛЯ ЗБЕРЕЖЕННЯ НОВОГО ВМІСТУ" надішле єдиний електронний лист при створенні публікації, де "TRIGGER: ПЕРЕЗАХОДУВАННЯ ОНОВЛЕНОГО ВМІСТУ" надішле новий електронний лист, якщо в ньому будуть внесені оновлення.
Citricguy

1
Якщо я користуюся Правилами, то чому я використовую дію "Надіслати електронну пошту" замість дії "Надіслати електронний лист", що надається модулем Simplenews?
Патрік Кенні

5

Модуль Simplenews робить все необхідне. Можна налаштувати, що кожен ваш пост в блозі автоматично стає інформаційним бюлетенем і надсилається передплатникам. Просто в конфігурації Simplenews виберіть тип вмісту Blog, щоб стати джерелом інформаційного бюлетеня.

Щоб зробити це:

  1. Відкрита форма конфігурації типу вмісту блогу (/ admin / структура / типи / управління / блог)
  2. На вкладці "Параметри публікації" встановіть прапорець "Використовувати як розсилку простих новин"

Де в конфігурації Simplenews параметр "Джерело розсилки"? Я думаю, я пережив усі меню і не знайшов нічого подібного до цього ...
Патрік Кенні

Дивіться оновлену відповідь вище.
Євген Фіделін

1

Якщо ви хочете це зробити програмно, перегляньте drupal_mail ($ module, $ key, $ to, $ language, $ params = array (), $ from = NULL, $ send = TRUE) ,

Коли оновлення вузла буде зачеплене, гачок_node_update ($ вузол) буде запущено. Якщо ви хочете створити власний складений формат пошти, скористайтесь ho_mail ($ ключ, & $ message, $ params) . Таким чином, ви повинні написати 2 гачки спочатку_up_up_update_ і_upload_mail_. Всередині kuk_node_update ви повинні написати функцію drupal_mail, яка буде викликати вашу гачку_mail.


0

Ви можете використовувати мій модуль пісочниці Total Total Subscription

Цей модуль знаходиться в черзі проектів drupal. Ось посилання на нього: - LINK

Я думаю, це дасть функціонал, який вам потрібен.


1
Чи можете ви трохи розширити, як цей модуль вирішить проблему користувача?
mpdonadio
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.