Jak mogę pozwolić użytkownikom na otrzymywanie wiadomości e-mail za każdym razem, gdy aktualizuję mojego bloga w Drupal 7?

11

Mam bloga w języku angielskim i japońskim w Drupal 7. Utworzyłem tego bloga przy użyciu niestandardowego typu treści i widoków, a nie wbudowanego modułu blogu.

Mam kanał RSS (utworzony w Widoku) dla każdego języka. Chciałbym zezwolić użytkownikom na subskrypcję, aby otrzymywać wszystkie aktualizacje w języku angielskim do treści typu „blog” lub wszystkie aktualizacje w języku japońskim do treści typu „blog”. (Przewiduję, że większość użytkowników będzie chciała tylko jednego lub drugiego języka. Jeśli użytkownik naprawdę chce obu języków, nie mam nic przeciwko zmuszeniu ich do dwukrotnej subskrypcji).

Spojrzałem na użycie Feedburner na kanałach RSS, ale moduł Feedburner nie został zaktualizowany do D7 i wolałbym nie polegać na usłudze zewnętrznej. (Kiedy próbowałem skonfigurować Feedburner bez modułu, powiedział mi, że mój kanał RSS nie istnieje, mimo że link do pomocy umożliwił mi jego sprawdzenie).

Przyjrzałem się także modułowi Simplenews , ale moduł ten najwyraźniej wymaga osobnego utworzenia każdego postu z biuletynu. Chcę automatycznie subskrybować użytkowników za pośrednictwem poczty e-mail po opublikowaniu aktualizacji na blogu.

Jestem pewien, że istnieje wiele sposobów, aby to zrobić, ale istnieje tak wiele modułów typu „pomocnik poczty”, że nie wiem, od czego zacząć.

Podsumowując moje wymagania, chcę:

  • Automatycznie wysyła wiadomości e-mail do subskrybentów, gdy dodawany jest nowy post na blogu w odpowiednim języku.
  • Zarówno uwierzytelnieni, jak i anonimowi użytkownicy powinni mieć możliwość subskrybowania.
  • Subskrypcje muszą wymagać potwierdzenia (wymóg prawny).
  • Zgodność z modułem MIME Mail byłaby miłym dodatkiem .
Patrick Kenny
źródło

Odpowiedzi:

1

Inną alternatywną opcją jest użycie Google Feedburner do wysłania wiadomości e-mail w Twoim imieniu.

Więcej informacji można znaleźć w dokumentacji online .

Gdy Google feedburner „wypali” Twoje kanały, możesz otrzymać kod do umieszczenia na formularzu rejestracji, aby użytkownicy mogli otrzymywać powiadomienia e-mail. Powodem, dla którego tak dobrze odpowiada Twoim potrzebom, jest to, że wszystko kręci się wokół źródła wysokiej jakości źródła danych RSS, a widok jest w stanie to wytworzyć. Jedyne prawdziwe pytanie brzmi: czy chcesz mieć pełną treść, czy teaser tylko w RSS (a zatem i e-mailu).

Kolejną zaletą tej opcji w stosunku do powyższych opcji biuletynu / wyzwalacza jest to, że wysyła tylko codzienne podsumowanie, więc maksymalnie 1 wiadomość e-mail jest wysyłana dziennie dla każdego nagranego kanału RSS. Zapobiegnie to spamowaniu lojalnych subskrybentów, gdy masz aktywne dni.

Funkcje Google Feedburner obejmują (bezpośrednio z powyższej dokumentacji):

Zarządzanie subskrypcją

  • Wyświetl i posortuj listę
  • Aktywuj, dezaktywuj i usuwaj poszczególne adresy e-mail
  • Wyeksportuj listę w formacie Excel lub CSV
  • Otrzymuj opcjonalny e-mail, gdy ludzie zrezygnują z subskrypcji

Preferencje komunikacyjne

  • Dostosuj temat i treść wiadomości e-mail wysyłanej do subskrybentów po tym, jak zdecydują się otrzymywać Twój kanał pocztą e-mail. Może to być przydatne, jeśli chcesz zlokalizować wiadomość e-mail.
  • WAŻNA UWAGA: E-maile są tylko tekstem, a aktywacja subskrypcji musi zawierać oryginalne odniesienie do $ {confirmlink}.

Znakowanie e-mailem

  • Dostosuj temat i tytuł wiadomości e-mail wysyłanej do subskrybentów
  • Dodaj niestandardowe logo, które pojawia się u góry wiadomości e-mail w formacie HTML
  • Zmień czcionki, rozmiary i kolor tekstu i nagłówka, a także kolor łączy

Opcje dostawy

  • Wybierz swoją strefę czasową
  • Wybierz dwugodzinne okno dostawy, w którym zostanie wysłany Twój dzienny wyciąg

Przykładowy samouczek konfiguracji tego można znaleźć tutaj .

wiifm
źródło
Dzięki za sugestię Feedburnera, ale jak zauważono w pierwotnym pytaniu, odmówił on spalenia moich kanałów, mimo że był w stanie je zweryfikować. Dokładny błąd, jaki mi podaje, to „Odebrano kod błędu HTTP 400 podczas pobierania źródła.”; jednak po kliknięciu linku „Sprawdź poprawność tego kanału” na stronie błędu pojawia się informacja, że ​​kanał jest prawidłowy. Niestety Feedburner również nie ma opcji wsparcia.
Patrick Kenny,
Miałem ten sam błąd, nasz problem polegał na tym, że Feedburner Google nie obsługuje SSL. Łatwym rozwiązaniem jest dostęp HTTP do kanału.
wiifm
1
Jeśli zezwalanie na dostęp HTTP do kanałów nie jest opcją, w ostatnim projekcie faktycznie przekazaliśmy proxy kanał RSS za pomocą czytnika Google, a następnie do programu Google Feedburner (bałagan, ale działa). Oto przykładowy kanał z tego procesu feeds.feedburner.com/TranspowerNewsFeed - ponieważ cała strona transpower.co.nz jest zabezpieczona przez HTTPS
wiifm
Przyznanie tej nagrody nagrodę, ponieważ okazuje się, że konfiguracja w Feedburner była dla mnie o wiele łatwiejsza, nawet jeśli musiałem przekierować SSL przez Google Reader, niż przy użyciu Simplenews.
Patrick Kenny,
5

Można to łatwo zdobyć. Mogę dać ci kilka kroków do naśladowania.

Istnieją w rzeczywistości co najmniej 2 sposoby na osiągnięcie tego

A. Korzystanie z wyzwalaczy (moduł podstawowy)

  1. Najpierw aktywuj wyzwalacze modułu podstawowego. Zapewni to podstawowe wyzwalacze (w Twoim przypadku wyzwalacz UPDATE) i działania, które zostaną uruchomione, gdy warunek zostanie spełniony.

  2. Przejdź do Administrator> Konfiguracja> Działania, następnie UTWÓRZ ZAAWANSOWANE DZIAŁANIE, a następnie wybierz: Wyślij wiadomość e-mail. W polu odbiorcy musisz wybrać odpowiedni token dostarczony przez moduł simplenews, aby pasował do wszystkich zarejestrowanych użytkowników. (upewnij się, że masz również zainstalowany moduł Token)

  3. Przejdź do Administrator> Struktura> Wyzwalacze, a następnie zakładkę Węzeł. Wybierz trzeci: SPUST: PO ZAPISIE ZAKTUALIZOWANEJ TREŚCI.

Jeśli potrzebujesz większej kontroli, zastosuj hak

funkcja YOURMODULE_trigger_info_alter (& $ wyzwalacze) {// Tutaj dpm ($ wyzwalacze), aby zobaczyć, gdzie jest twój wyzwalacz aktualizacji i dokonać zmian. }?>

B. Korzystanie z reguł (moduł contrib) Podstawowy to samo. Jeśli utkniesz, wykonaj następujące kroki w podobnej sprawie na tym blogu: http://adellefrank.com/blog/how-to-email-notifications-comments-drupal7

drupal_stuff_alter
źródło
1
„WYZWALANIE: PO ZAPISANIU NOWEJ TREŚCI” wyśle ​​pojedynczy e-mail po utworzeniu postu, a jako „WYZWALANIE: PO ZAPISANIU ZAKTUALIZOWANEJ TREŚCI” wyśle ​​nowy e-mail, jeśli zostaną wprowadzone jakiekolwiek aktualizacje do wpisu.
Citricguy,
1
Jeśli korzystam z Reguł, dlaczego miałbym używać akcji „Wyślij e-mail” zamiast akcji „Wyślij biuletyn e-mail” dostarczonej przez moduł Simplenews?
Patrick Kenny,
5

Moduł Simplenews robi wszystko, czego potrzebujesz. Można skonfigurować, aby każdy post na blogu automatycznie stał się biuletynem i był wysyłany do subskrybentów. Tylko w konfiguracji Simplenews wybierz typ treści Blog, aby być źródłem biuletynu.

Aby to zrobić:

  1. Otwórz formularz konfiguracji typu zawartości bloga (/ admin / structure / types / manage / blog)
  2. W zakładce „Opcje publikowania” zaznacz „Używaj jako biuletynu uproszczonego”
Eugene Fidelin
źródło
Gdzie w konfiguracji Simplenews jest dostępna opcja „Źródło biuletynu”? Myślę, że byłem przez wszystkich menu i nie znalazłem niczego przypominającego, że ...
Patrick Kenny
Zobacz zaktualizowaną odpowiedź powyżej.
Eugene Fidelin,
1

Jeśli chcesz to zrobić programowo, zobacz drupal_mail ($ module, $ key, $ to, $ language, $ params = array (), $ from = NULL, $ send = TRUE) ,

Po zaktualizowaniu węzła zostanie uruchomiony hak hook_node_update ($ node) . Jeśli chcesz stworzyć własny skomponowany format poczty, użyj hook_mail ($ key, & $ message, $ params) . Musisz więc napisać 2 hooki najpierw hook_node_update i hook_mail. Wewnątrz hook_node_update musisz napisać funkcję drupal_mail, która wywoła twój hook_mail.

gwałtowny
źródło
0

Możesz użyć mojego modułu piaskownicy Całkowita subskrypcja

Ten moduł znajduje się w kolejce projektów drupal. Oto link do niego: - LINK

Myślę, że zapewni funkcjonalność, której potrzebujesz.

Deepak Kumar
źródło
1
Czy mógłbyś trochę rozwinąć, w jaki sposób ten moduł rozwiąże problem użytkownika?
mpdonadio