Vous êtes ici

Recherche d'un module d'envoi de mails aux utilisateurs du site

Portrait de Lildrille
Soumis par Lildrille le jeu, 14/02/2013 - 18:52

Bonsoir,

Je suis à la recherche d'un module permettant :

- d'envoyer des mails mais directement à tous les utilisateurs du site (donc pas besoin d'entrer d'adresses mails)
- d'y attacher des pièces jointes quelconques
- de garder une copie sur le site en lui même et donc d'afficher le contenu du mail et la pièce jointe sur le site

Auriez-vous un nom de module à me proposer qui approche ce que j'aimerais faire ?

Merci par avance pour votre aide

Partager ce contenu
Portrait de DrupalFacile

Bonsoir,

Oui, Privatemsg peut très bien remplir cette fonction. Il permet d'envoyer des messages aux membres et de les avertir par e-mail au besoin. Dans la branche 2.x du module le support des pièces jointes est arrivé.

C'est un module qu'on utilise beaucoup sur les intranets et sites communautaires, notamment.

Aurélien

Portrait de Lildrille

Merci pour le module !

Alors, je l'ai installé, il marche plutôt bien.
Un soucis, cependant, la notifications par email ne marche pas alors que j'ai activé ce qu'il faut, en toute logique et indiqué que je voulais une notification par email par défaut.

De plus, dans cette notifications, est-il possible d'y inclure le contenu du message ainsi que les pièces jointes ? Que dois-je écrire dans le contenu de ce mail envoyé pour afficher le message et les pièces jointes ?

Merci encore =)

Une unique chance est un univers d'espoir

Je suppose que dans le réglage des permissions, vous avez bien donné les permissions de lecture et d'écriture comme il se doit pour vos utilisateurs tests, donc je vais tenter de trouver d'autres problèmes possibles.
Dans admin/config/messaging/privatemsg, puis l'onglet de notification, avez-vous coché la notification par défaut aux utilisateurs?
Si ça ne fonctionne toujours pas avec cette fonction, vérifiez dans l'édition du profil utilisateur du receveur, si encore une fois la notification des messages privés est bien activée (puisque chacun est libre de l'activer ou la désactiver selon ses préférences).
Si ça ne fonctionne toujours pas et que votre serveur permet l'envoi de mail, je ne sais plus trop quel problème imaginer. Je ne sais plus si l'envoi des notifications est effectué avec le Cron. Exécutez le Cron après l'envoi d'un message privé, juste au cas où.

De plus, dans cette notifications, est-il possible d'y inclure le contenu du message ainsi que les pièces jointes ? Que dois-je écrire dans le contenu de ce mail envoyé pour afficher le message et les pièces jointes ?

Si vous installez le module Token, vous pourrez mettre n'importe quel contenu dans le message de notification. Par exemple, ma configuration donne :

Bonjour [privatemsg_message:recipient],

Ceci est un message automatique du site [site:name].
[privatemsg_message:author] vous a envoyé un nouveau message privé.

Pour lire votre message, suivez ce lien:
[privatemsg_message:url]

Si vous ne voulez plus recevoir ce type de message, vous pouvez changer vos préférences ici:
[privatemsg_message:recipient:edit-url]

En utilisant un token de type [privatemsg_message:body], vous affichez le contenu du message dans le mail.
Enfin, pour les pièces jointes, vous pouvez créer un champs de type "fichier" sur la page /admin/config/messaging/privatemsg/fields puis un token sera alors disponible pour vos pieces jointes. Cependant, je ne suis pas certain que le fichier sera bien envoyé en pièce jointe. Ne serait-il pas préférable de simplement fournir le lien de téléchargement direct? Ça permettrait en plus de pouvoir le modifier après l'envoi de la lettre en cas d'erreur de fichier, ou autre (tant qu'il conserve son id ou son nom, l'url devrait rester fonctionnelle, tout dépend de votre configuration des chemins d'url).

Pour terminer, je voulais mentionner le module simplenews ( http://drupal.org/project/simplenews ) qui pourrait également convenir à vos besoins en parallèle de privatemsg. N'importe quel type de contenu peut être envoyé par mail, avec tout de même un affichage direct sur le site (contrairement à un message privé qui est... privé). De plus, les visiteurs non enregistrés peuvent simplement ajouter leur adresse mail, sans créer de compte, pour recevoir des nouvelles de votre site, et vous toucherez ainsi potentiellement plus de gens. Il est paramétrable à souhait et automatisable avec Rules. Il est en version stable actuellement, mais je ne sais pas s'il est mieux ou moins bien développé que privatemsg. Il fonction très bien sur mon site (sans l'utilisation de mise en forme HTML, je ne l'ai pas essayée).

Portrait de Lildrille

Je n'arrive vraiment pas à faire marcher la notifications par email du module privatemsg et ça me dérange beaucoup.

J'ai bien vérifié que les utilisateurs pouvaient recevoir les notifications par email et je l'ai coché pour que les notifications soient envoyées par défaut. Je ne vois pas pourquoi ça ne fonctionnerait pas =(
L'envoi de mails par comment notify marche très bien et également quand je crée un nouveau compte sur le site. C'est étrange.

Pour simplenews, je ne comprends pas comment utiliser le modules rules avec?

Par contre, avec simplenews, aucun utilisateur ne reçoit de mails non plus pour les prévenir.
Vraiment bizarre.

merci pour l'aide en tout cas

j'espère que le module privatemsg va fonctionner en tout cas =/

j'ai essayé cron et rien ne se passe!

sinon, merci pour token, c'est vraiment génial !

Une unique chance est un univers d'espoir

Pour Privatemsg:
C'est effectivement très étrange. J'ai tout de même vérifié sur mon site, et l'envoi fonctionne très bien et sans le Cron (je suis sous Drupal 7.19 et Privatemsg 7.x-1.3, donc les toutes dernières versions). Quelle version avez-vous installée? Si votre configuration est identique à la mienne, et que vous êtes certaine d'avoir bien effectué votre installation telle que décrite dans le fichier README.txt du module, alors je n'ai plus trop d'idées. Par contre, si vous avez installé la branche 2 (7.x-2.x-dev), qui comme son nom l'indique est toujours en développement, la fonction d'envoi de mail n'est peut-être pas encore fonctionnelle (je ne l'ai pas testé personnellement). Si c'est celle que vous avez installée, supprimez-la complètement en :

1. désactivant tous les modules privatemsg,
2. désinstallant le module (dans /admin/modules/uninstall),
3. en mettant à jour votre base de données (mettre le site en mode maintenance et aller sur l'url /update.php).

Réinstallez la version 7.x-1.3 afin de confirmer que votre problème n'est pas spécifique de la branche 2.

À votre place, en dernier recourt, je referais un test sur une installation fraiche de Drupal, voir même tester l'installation sur un autre hébergeur. Vous saurez si le problème viens de lui ou non.

Pour simplenews:

* Vous installez le module, donnez les permissions souhaitées pour le module et pour le nouveau type de contenu créé dans /admin/people/permissions
* Dans /admin/config/services/simplenews, Créer une catégorie au moins de newsletter, puis allez sur l'onglet parametre de cette même url pour activer le mode test d'envoi
* Éditez ou créez un type de contenu qui définira la news. Ce type de contenu sera affichable sur le site, et envoyé aux membres inscrits. Dans les options de publication de votre type de contenu, cochez bien 'Utiliser comme lettre d'information Simplenews'. Puis lors de la rédaction d'un contenu, vous pourrez sélectionné l'une des catégories de news définie dans le point précédent.

À partir de là, la configuration de base est faite et l'envoi est fonctionnel. Après l'enregistrement d'un contenu, vous verrez apparaitre au dessus un ongle "Lettre d'information", vous demandant si vous souhaitez l'envoyer ou non à vos utilisateurs.

* Pour automatiser cette étape, utilisez Rules avec un réglage tel que "Lorsque de la publication d'un nouveau type de contenu de type [lié à la lettre d'information], envoyer la lettre d'information".

Portrait de Lildrille

Pour les actions sur rules, je suis en train d'en créer une, comme vous le disiez.
Mais, je ne vois pas ce qu'il faut que je mette quand j'arrive là :

__________________________________________________________________
The newsletter node to be sent.
The newsletter node that should be sent.
Data selector *

The data selector helps you drill down into the data available to Rules. To make entity fields appear in the data selector, you may have to use the condition 'entity has field' (or 'content is of type'). More useful tips about data selection is available in the online documentation.

Data types: Select data of the type Nœud.
Afficher Data selectors
__________________________________________________________________

cela s'affiche juste après que j'ai sélectionné l'action "envoyer la newsletter"

que dois je faire arriver ici ?

merci encore pour votre aide !

Une unique chance est un univers d'espoir

Portrait de Lildrille

=> "* Pour automatiser cette étape, utilisez Rules avec un réglage tel que "Lorsque de la publication d'un nouveau type de contenu de type [lié à la lettre d'information], envoyer la lettre d'information"."

D'ailleurs, je n'ai eu accès qu'à ça pour les actions : "a user has been suscribed"
et ça n'a pas de rapport avec la lettre d'information

comment faire pour lier l'action à la lettre d'information ?

Une unique chance est un univers d'espoir

Avez-vous bien activé le sous module "Simplenews rules", qui vient avec le module Simplenews?
J'ai du mal à bien saisir votre problème. Le plus simple que je puisse faire est un screenshot de ma configuration (C'est directement mes articles qui sont envoyés): http://oi47.tinypic.com/282meiu.jpg
Vous devez avoir dans les "actions" tout simplement "Envoyer la lettre d'information".

"a user has been suscribed", il est possible que ce soit une souscription à une lettre d'information, mais ce n'est pas utilisé dans notre cas.

Pour compliquer un peu les choses:
Je sais que j'avais un peu galéré pour l'automatisation, et j'ai d’ailleurs fini par la supprimer préférant un envoi manuel. J'avais une configuration plus complexe, intégrant le module Workbench Moderation, et chaque modification du noeud renvoyait la lettre, ce qui ne fait pas très professionnel...
Avec le type de configuration en screenshot, elle ne sera envoyée que lors de la création du contenu, donc il faut que la publication soit effectuée au moment de l'enregistrement, sans passer par un brouillon, sinon Rules ne s'exécutera pas lors de la futur publication du brouillon.
Je pense que le top serait d'avoir un token permettant de savoir si la lettre a déjà été envoyée, ou de coder en php dans rules une condition de type "if $newslettre != send", mais je n'ai jamais pris le temps de regarder les variables disponibles, et mon niveau en php est très très près du sol... Si une âme charitable passe par là, j'en profite :)

Portrait de Lildrille

Un grand merci pour la photo de votre configuration.
Je n'avais jamais créé de règles auparavant donc j'avais fait des choses qui ne pouvaient fonctionner !

Par contre, même si la règle marche très bien, l'envoi du mail n'est pas immédiat.
Quand je regarde l'état des tâches, je vois que la newsletter is pending. Alors, tant pis, si l'envoi n'est pas immédiat mais dans cron, le temps minimal est de une heure tout de même. Cela fait beaucoup.
Ne puis-je pas diminuer ce temps d'attente ?

Une unique chance est un univers d'espoir

Portrait de Lildrille

En plus, je viens de le remarquer, il faut que le site soit actif pour que la lettre soit envoyée après une heure =/
ça ne me convient pas du tout comme envoi =/
et si, à chaque fois, il faut que l'administrateur active les taches cron dès qu'il se connecte, je ne trouve pas ça terrible
n'y a-t-il pas un moyen de rendre l'envoi de la newsletter immédiat ?

Une unique chance est un univers d'espoir

Dans /admin/config/services/simplenews/settings/mail, vous pouvez choisir d'utiliser cron ou non pour l'envoi des Emails.

En plus, je viens de le remarquer, il faut que le site soit actif pour que la lettre soit envoyée après une heure =/

L'administrateur n'a pas à être connecté pour que le cron fonctionne (ce ne serait pas très utile sinon). C'est comme une horloge interne sur votre serveur qui s'exécute toutes les 3 heures, ou toutes les heures en fonction de votre configuration. Sur mon site, le cron s'exécute très bien toutes les heures en mon absence.
Vous développez en local ou sur un serveur? Si vous êtes en local, l’arrêt de votre ordinateur arrêtera votre serveur, et donc cron. Avec un hébergeur, les serveurs distants sont logiquement en service 24h/24, donc cron s'exécutera normalement.

Vous pouvez mettre le temps que vous voulez entre 2 exécutions. En fonction des modules présents sur votre site, le cron gère beaucoup de choses, comme la recherche de mises à jour de la liste des modules, des thèmes, des traductions, de l'aggrégateur de flux RSS, de l'envoi des newsletter, de la génération et de l'envoi des sitemaps pour les moteurs de recherche, l'indexation du site, sans compter la mise en cache des pages, des views,... et bien d'autres... Il faut donc choisir un temps d'exécution entre deux tâches cron qui soit en accord avec vos attentes et le poids de votre site. Une courte durée rafraîchira votre site rapidement, mais sollicitera plus fréquemment les ressources côté serveur. Le nombre de visiteurs est également à prendre en compte pour la mise en cache des pages, il n'est pas très utile de régénérer le cache toutes les 5 minutes si vous avez en moyenne une visite toutes les 15 minutes, c'est consommer inutilement des ressources.
Il existe un module stable pour optimiser la configuration du cron, personnellement, je ne l'utilise pas, donc je ne pourrai pas vous aider plus à son sujet: http://drupal.org/project/elysia_cron

Portrait de Lildrille

je travaille sur le serveur d'une entreprise et justement, c'est étrange mais il faut que le site soit actif pour que ça fonctionne, pour l'instant.
mais grâce au module que vous m'avez donné je peux choisir toutes les 15 minutes au lieu de toutes les heures, c'est déjà mieux même si ça ne se fait pas automatiquement

et que je choisisse avec ou sans cron, je dois lancer cron quand même à la fin ^^

merci beaucoup en tout cas =)

Une unique chance est un univers d'espoir

Ajouter un commentaire

HTML filtré

  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Tags HTML autorisés : <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Les lignes et les paragraphes vont à la ligne automatiquement.

Texte simple

  • Aucune balise HTML autorisée.
  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
By submitting this form, you accept the Mollom privacy policy.