Comment puis-je permettre aux utilisateurs de recevoir des e-mails chaque fois que je mets à jour mon blog dans Drupal 7?

11

J'ai un blog en anglais et en japonais dans Drupal 7. J'ai créé ce blog en utilisant un type de contenu personnalisé et des vues, pas le module de blog intégré.

J'ai un flux RSS (créé dans Views) pour chaque langue. Je voudrais permettre aux utilisateurs de s'abonner pour recevoir toutes les mises à jour en anglais du type de contenu "blog" ou toutes les mises à jour en japonais du type de contenu "blog". (Je prévois que la plupart des utilisateurs ne voudront qu'une langue ou l'autre. Si un utilisateur veut vraiment les deux langues, cela ne me dérange pas de les faire s'abonner deux fois.)

J'ai cherché à utiliser Feedburner sur les flux RSS, mais le module Feedburner n'a pas été mis à jour pour D7 et je préfère ne pas compter sur un service externe. (Lorsque j'ai essayé de configurer Feedburner sans le module, il m'a dit que mon flux RSS n'existait pas même si le lien de support m'a permis de le valider.)

J'ai également regardé le module Simplenews , mais ce module nécessite apparemment de créer chaque poste de newsletter séparément. Ce que je veux faire, c'est envoyer automatiquement un e-mail aux utilisateurs abonnés lorsque je poste une mise à jour sur le blog.

Je suis sûr qu'il existe de nombreuses façons de le faire, mais il y a tellement de modules de type "assistant de messagerie" que je ne sais pas par où commencer.

Pour résumer mes besoins, je souhaite:

  • Envoyez automatiquement un e-mail aux abonnés lorsqu'un nouveau billet de blog dans la langue appropriée est ajouté.
  • Les utilisateurs authentifiés et anonymes devraient pouvoir s'abonner.
  • Les abonnements doivent être confirmés (exigence légale).
  • La compatibilité avec le module MIME Mail serait un bon bonus.
Patrick Kenny
la source

Réponses:

1

Une autre option alternative consiste à utiliser Google Feedburner pour envoyer l'e-mail en votre nom.

Consultez la documentation en ligne pour plus d'informations.

Une fois que Google feedburner a «brûlé» vos flux, vous pouvez obtenir un code d'intégration pour le formulaire d'inscription afin que les utilisateurs puissent recevoir des alertes par e-mail. La raison pour laquelle cela convient si bien à vos besoins, c'est que tout tourne autour d'avoir une source de flux RSS de qualité, et Views est capable de produire cela. La seule vraie question est de savoir si vous voulez avoir le contenu complet ou un teaser uniquement dans le RSS (et donc par e-mail).

Un autre avantage que cela a sur les options de newsletter / déclencheur ci-dessus est qu'il n'envoie qu'un résumé quotidien, donc au maximum 1 e-mail est envoyé par jour pour chaque flux RSS gravé. Cela vous évitera de spammer vos abonnés fidèles lorsque vous avez des jours actifs.

Les fonctionnalités de Google Feedburner incluent (directement à partir de la documentation ci-dessus):

Gestion des abonnements

  • Afficher et trier la liste
  • Activer, désactiver et supprimer des adresses e-mail individuelles
  • Exportez votre liste au format Excel ou CSV
  • Recevez un e-mail facultatif lorsque les gens se désabonnent

Préférences de communication

  • Personnalisez la ligne d'objet et le corps du courrier électronique qui est envoyé aux abonnés après qu'ils ont choisi de recevoir votre flux par courrier électronique. Cela peut être utile si vous souhaitez localiser l'e-mail.
  • REMARQUE IMPORTANTE: les e-mails sont uniquement en texte et la référence $ {confirmlink} d'origine doit être incluse dans votre e-mail de confirmation afin d'activer l'abonnement.

Image de marque

  • Personnalisez la ligne d'objet et le titre de l'e-mail envoyé à vos abonnés
  • Ajouter un logo personnalisé qui apparaît en haut des e-mails HTML
  • Modifier les polices, les tailles et la couleur du texte du corps et du titre ainsi que la couleur des liens

Options de livraison

  • Choisissez votre fuseau horaire
  • Sélectionnez une fenêtre de livraison de deux heures dans laquelle votre résumé quotidien sera envoyé

Vous trouverez ici un exemple de didacticiel sur la configuration de cette configuration .

wiifm
la source
Merci d'avoir suggéré Feedburner, mais comme indiqué dans la question d'origine, il a refusé de graver mes flux malgré le fait qu'il ait pu les valider. L'erreur exacte qu'il me donne est "Code d'erreur HTTP 400 reçu lors de la récupération du flux source."; cependant, lorsque je clique sur le lien "Valider ce flux" sur la page d'erreur, il m'indique que le flux est valide. Malheureusement, Feedburner n'a également aucune option de support.
Patrick Kenny
J'ai eu la même erreur, notre problème était que Google feedburner ne prend pas en charge SSL. La solution simple consiste à autoriser l'accès HTTP au flux.
wiifm
1
Si autoriser l'accès HTTP aux flux n'est pas une option, sur un projet récent, nous avons en fait mandaté le flux RSS via Google Reader, puis dans Google Feedburner (désordonné, mais cela fonctionne). Voici un exemple de flux de ce processus feeds.feedburner.com/TranspowerNewsFeed - car l'ensemble du site transpower.co.nz est sécurisé sous HTTPS
wiifm
Accorder à cette réponse la prime parce qu'il s'avère que cela a été beaucoup plus facile pour moi de configurer dans Feedburner, même d'avoir à faire la redirection SSL via Google Reader, que d'utiliser Simplenews.
Patrick Kenny
5

Cela peut être acquis facilement. Je peux vous donner quelques étapes à suivre.

Il y a en fait au moins 2 façons d'y parvenir

A. Utilisation des déclencheurs (module principal)

  1. Activez d'abord les déclencheurs du module principal. Cela vous fournira des déclencheurs de base (dans votre cas, un déclencheur UPDATE) et des actions à exécuter lorsque la condition est remplie.

  2. Allez dans Admin> Configuration> Actions puis CRÉER UNE ACTION AVANCÉE, puis sélectionnez: Envoyer un e-mail. Dans le champ destinataire, vous devez sélectionner un jeton approprié fourni par le module simplenews pour correspondre à tous les utilisateurs enregistrés. (assurez-vous que le module Token est également installé)

  3. Accédez à Admin> Structure> Déclencheurs, puis à l'onglet Noeud. Choisissez le troisième: DÉCLENCHEUR: APRÈS ENREGISTREMENT DU CONTENU MIS À JOUR.

Si vous avez besoin de plus de contrôle, implémentez le crochet

function YOURMODULE_trigger_info_alter (& $ triggers) {// Voici dpm ($ triggers) pour voir où se trouve votre déclencheur de mise à jour et effectuer les modifications. }?>

B. Utilisation des règles (module contrib) Basic c'est la même chose. Si vous êtes bloqué, suivez ces étapes sur un problème similaire sur ce blog: http://adellefrank.com/blog/how-to-email-notifications-comments-drupal7

drupal_stuff_alter
la source
1
'TRIGGER: AFTER SAVING NEW CONTENT' enverra un seul e-mail lors de la création de la publication, tandis que 'TRIGGER: AFTER SAVING UPDATED CONTENT' enverra un nouvel e-mail si des mises à jour sont apportées à la publication.
Citricguy
1
Si vous utilisez des règles, pourquoi utiliser l'action "Envoyer un e-mail" au lieu de l'action "Envoyer une newsletter par e-mail" fournie par le module Simplenews?
Patrick Kenny
5

Le module Simplenews fait tout ce dont vous avez besoin. Il peut être configuré pour que chaque article de votre blog devienne automatiquement une newsletter et soit envoyé aux abonnés. Dans la configuration Simplenews, sélectionnez le type de contenu Blog pour être une source de newsletter.

Pour faire ceci:

  1. Formulaire de configuration ouvert du type de contenu du blog (/ admin / structure / types / manage / blog)
  2. Dans l'onglet "Options de publication", cochez "Utiliser comme newsletter simplenews"
Eugene Fidelin
la source
Où dans la configuration Simplenews se trouve l'option "Source de newsletter"? Je pense que j'ai parcouru tous les menus et je n'ai rien trouvé qui ressemble à ça ...
Patrick Kenny
Voir la réponse mise à jour ci-dessus.
Eugene Fidelin
1

Si vous voulez le faire par programme, voir drupal_mail ($ module, $ key, $ to, $ language, $ params = array (), $ from = NULL, $ send = TRUE) ,

Lorsque le nœud est mis à jour, le hook hook_node_update ($ node) sera déclenché. Si vous souhaitez créer votre propre format de courrier électronique, utilisez hook_mail ($ key, & $ message, $ params) . Vous devez donc d'abord écrire 2 hooks hook_node_update et hook_mail. Dans hook_node_update, vous devez écrire la fonction drupal_mail qui appellera votre hook_mail.

werqious
la source
0

Vous pouvez utiliser mon module sandbox Total Subscription

Ce module est en file d'attente de projet drupal. Voici le lien pour cela: - LIEN

Je pense que cela donnera les fonctionnalités dont vous avez besoin.

Deepak Kumar
la source
1
Pourriez-vous développer un peu comment ce module résoudra le problème de l'utilisateur?
mpdonadio