Wie kann ich Benutzern erlauben, E-Mails zu erhalten, wenn ich mein Blog in Drupal 7 aktualisiere?


11

Ich habe ein Blog in Englisch und Japanisch in Drupal 7. Ich habe dieses Blog mit einem benutzerdefinierten Inhaltstyp und Ansichten erstellt, nicht mit dem integrierten Blog-Modul.

Ich habe für jede Sprache einen RSS-Feed (erstellt in Ansichten). Ich möchte Benutzern erlauben, sich anzumelden, um alle englischsprachigen Updates für den Inhaltstyp "Blog" oder alle japanischsprachigen Updates für den Inhaltstyp "Blog" zu erhalten. (Ich gehe davon aus, dass die meisten Benutzer nur die eine oder die andere Sprache möchten. Wenn ein Benutzer wirklich beide Sprachen möchte, macht es mir nichts aus, sie zweimal abonnieren zu lassen.)

Ich habe versucht, Feedburner für RSS-Feeds zu verwenden, aber das Feedburner-Modul wurde für D7 nicht aktualisiert, und ich möchte mich lieber nicht auf einen externen Dienst verlassen. (Als ich versuchte, Feedburner ohne das Modul einzurichten, wurde mir mitgeteilt, dass mein RSS-Feed nicht vorhanden war, obwohl ich ihn über den Support-Link validieren konnte.)

Ich habe mir auch das Simplenews- Modul angesehen, aber für dieses Modul muss anscheinend jeder Newsletter-Beitrag separat erstellt werden. Ich möchte abonnierte Benutzer automatisch per E-Mail benachrichtigen, wenn ich ein Update im Blog veröffentliche.

Ich bin mir sicher, dass es viele Möglichkeiten gibt, dies zu tun, aber es gibt so viele Module vom Typ "Mail Helper", dass ich nicht weiß, wo ich anfangen soll.

Um meine Anforderungen zusammenzufassen, möchte ich:

  • Senden Sie Abonnenten automatisch eine E-Mail, wenn ein neuer Blog-Beitrag in der entsprechenden Sprache hinzugefügt wird.
  • Sowohl authentifizierte als auch anonyme Benutzer sollten sich anmelden können.
  • Abonnements müssen bestätigt werden (gesetzliche Anforderung).
  • Die Kompatibilität mit dem MIME Mail- Modul wäre ein schöner Bonus.

Antworten:


1

Eine andere alternative Option ist die Verwendung von Google Feedburner, um die E-Mail in Ihrem Namen zu senden.

Weitere Informationen finden Sie in der Online-Dokumentation .

Sobald Google Feedburner Ihre Feeds "gebrannt" hat, können Sie einen Einbettungscode für das Anmeldeformular erhalten, damit Benutzer E-Mail-Benachrichtigungen erhalten können. Der Grund, warum dies so gut zu Ihren Anforderungen passt, ist, dass sich alles um eine hochwertige RSS-Feed-Quelle dreht und Views dies produzieren kann. Die einzige wirkliche Frage ist, ob Sie nur den vollständigen Inhalt oder einen Teaser im RSS (und damit in der E-Mail) haben möchten.

Ein weiterer Vorteil gegenüber den oben genannten Newsletter- / Trigger-Optionen besteht darin, dass nur eine tägliche Übersicht gesendet wird, sodass maximal 1 E-Mail pro Tag für jeden gebrannten RSS-Feed gesendet wird. Dies verhindert, dass Sie Ihre treuen Abonnenten spammen, wenn Sie aktive Tage haben.

Zu den Funktionen des Google Feedburner gehören (direkt aus der obigen Dokumentation):

Abonnementverwaltung

  • Zeigen Sie die Liste an und sortieren Sie sie
  • Aktivieren, deaktivieren und löschen Sie einzelne E-Mail-Adressen
  • Exportieren Sie Ihre Liste im Excel- oder CSV-Format
  • Erhalten Sie eine optionale E-Mail, wenn sich Personen abmelden

Kommunikationseinstellungen

  • Passen Sie die Betreffzeile und den Text der E-Mail an, die an Abonnenten gesendet wird, nachdem diese sich für den Empfang Ihres Feeds per E-Mail entschieden haben. Dies kann nützlich sein, wenn Sie die E-Mail lokalisieren möchten.
  • WICHTIGER HINWEIS: E-Mails sind nur Textnachrichten und die ursprüngliche Referenz $ {verifylink} muss in Ihrer Bestätigungs-E-Mail enthalten sein, um das Abonnement zu aktivieren.

E-Mail-Branding

  • Passen Sie die Betreffzeile und den Titel der E-Mail an, die an Ihre Abonnenten gesendet wird
  • Fügen Sie ein benutzerdefiniertes Logo hinzu, das oben in HTML-E-Mail-Nachrichten angezeigt wird
  • Ändern Sie die Schriftarten, Größen und Farben für Textkörper und Überschriften sowie die Farbe der Links

Lieferoptionen

  • Wählen Sie Ihre Zeitzone
  • Wählen Sie ein zweistündiges Lieferfenster, innerhalb dessen Ihr täglicher Digest gesendet wird

Ein Beispiel-Tutorial zum Einrichten finden Sie hier .


Vielen Dank, dass Sie Feedburner vorgeschlagen haben, aber wie in der ursprünglichen Frage erwähnt, hat es sich geweigert, meine Feeds zu verbrennen, obwohl es in der Lage war, sie zu validieren. Der genaue Fehler lautet "HTTP-Fehlercode 400 beim Abrufen des Quell-Feeds empfangen". Wenn ich jedoch auf der Fehlerseite auf den Link "Diesen Feed validieren" klicke, wird mir mitgeteilt, dass der Feed gültig ist. Leider hat Feedburner auch keine Support-Optionen.
Patrick Kenny

Ich hatte den gleichen Fehler, unser Problem war, dass Google Feedburner SSL nicht unterstützt. Die einfache Lösung besteht darin, HTTP-Zugriff auf den Feed zuzulassen.
wiifm

1
Wenn das Zulassen des HTTP-Zugriffs auf die Feeds keine Option ist, haben wir in einem kürzlich durchgeführten Projekt den RSS-Feed tatsächlich über den Google Reader und dann in den Google Feedburner übertragen (chaotisch, aber es funktioniert). Hier ist ein Beispiel-Feed aus diesem Prozess feeds.feedburner.com/TranspowerNewsFeed - da die gesamte Site transpower.co.nz unter HTTPS gesichert ist
wiifm

Diese Antwort mit dem Kopfgeld zu belohnen, da sich herausstellte, dass es für mich viel einfacher war, dies in Feedburner einzurichten, selbst wenn ich die SSL-Umleitung über Google Reader durchführen musste, als Simplenews zu verwenden.
Patrick Kenny

5

Dies kann leicht erworben werden. Ich kann Ihnen einige Schritte geben, denen Sie folgen müssen.

Es gibt tatsächlich mindestens zwei Möglichkeiten, dies zu erreichen

A. Verwenden von Triggern (Kernmodul)

  1. Aktivieren Sie zuerst die Trigger des Kernmoduls. Auf diese Weise erhalten Sie grundlegende Trigger (in Ihrem Fall UPDATE-Trigger) und Aktionen, die ausgeführt werden können, wenn die Bedingung erfüllt ist.

  2. Gehen Sie zu Admin> Konfiguration> Aktionen, ERSTELLEN SIE EINE ERWEITERTE AKTION und wählen Sie dann: E-Mail senden. Im Empfängerfeld müssen Sie ein geeignetes Token auswählen, das vom simplenews-Modul bereitgestellt wird, um allen registrierten Benutzern zu entsprechen. (Stellen Sie sicher, dass auch das Token-Modul installiert ist.)

  3. Gehen Sie zu Admin> Struktur> Trigger und dann zur Registerkarte Knoten. Wählen Sie den dritten: TRIGGER: NACH DEM SPEICHERN VON AKTUALISIERTEN INHALTEN.

Wenn Sie mehr Kontrolle benötigen, implementieren Sie den Hook

Funktion YOURMODULE_trigger_info_alter (& $ triggers) {// Hier dpm ($ triggers), um zu sehen, wo sich Ihr Update-Trigger befindet, und die Änderungen vorzunehmen. }?>

B. Verwenden von Regeln (Contrib-Modul) Basic das Gleiche. Wenn Sie nicht weiterkommen, befolgen Sie diese Schritte bei einem ähnlichen Problem in diesem Blog: http://adellefrank.com/blog/how-to-email-notifications-comments-drupal7


1
'TRIGGER: NACH DEM SPEICHERN NEUER INHALTE' sendet eine einzelne E-Mail bei der Post-Erstellung, während 'TRIGGER: NACH DEM SPEICHERN AKTUALISIERTER INHALTE' eine neue E-Mail sendet, wenn Aktualisierungen am Post vorgenommen werden.
Citricguy

1
Warum sollte ich bei Verwendung von Regeln die Aktion "E-Mail senden" anstelle der Aktion "E-Mail-Newsletter senden" verwenden, die vom Simplenews-Modul bereitgestellt wird?
Patrick Kenny

5

Das Simplenews- Modul bietet alles, was Sie brauchen. Es kann konfiguriert werden, dass jeder Ihrer Blog-Beiträge automatisch zu einem Newsletter wird und an Abonnenten gesendet wird. Wählen Sie einfach in der Simplenews-Konfiguration den Inhaltstyp Blog als Newsletter-Quelle.

Um dies zu machen:

  1. Öffnen Sie das Konfigurationsformular des Blog-Inhaltstyps (/ admin / structure / types / manage / blog).
  2. Aktivieren Sie auf der Registerkarte "Veröffentlichungsoptionen" die Option "Als simplenews-Newsletter verwenden".

Wo in der Simplenews-Konfiguration befindet sich die Option "Newsletter-Quelle"? Ich glaube, ich habe alle Menüs durchgesehen und nichts Ähnliches gefunden ...
Patrick Kenny

Siehe aktualisierte Antwort oben.
Eugene Fidelin

1

Wenn Sie dies programmgesteuert tun möchten, lesen Sie drupal_mail ($ module, $ key, $ to, $ language, $ params = array (), $ from = NULL, $ send = TRUE) .

Wenn der Knoten aktualisiert wird, wird der Hook hook_node_update ($ node) ausgelöst. Wenn Sie ein eigenes zusammengesetztes Mail-Format erstellen möchten, verwenden Sie hook_mail ($ key, & $ message, $ params) . Sie müssen also zuerst 2 Hooks schreiben hook_node_update und hook_mail. In hook_node_update müssen Sie die Funktion drupal_mail schreiben, die Ihre hook_mail aufruft.


0

Sie können mein Sandbox-Modul Gesamtabonnement verwenden

Dieses Modul befindet sich in der Drupal-Projektwarteschlange. Hier ist der Link dafür: - LINK

Ich denke, es wird Funktionalität geben, die Sie benötigen.


1
Können Sie etwas näher erläutern, wie dieses Modul das Problem des Benutzers lösen wird?
mpdonadio
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.