Simplenews : statut d'envoi [Résolu]

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour !

J'ai installé Simplenews et, après quelques heures de configuration et de tests, cela fonctionne. Il y a cependant une chose qui me préoccupe, et la voici :

  • Dans "Site configuration>Simplenews>General", en plus de "Simplenews issues", j'ai coché 2 autres type de contenu.
  • Automatiquement, Drupal crée dans chacun des contenus instanciés à partir de ces 2 types de contenu : un champ liste "Newsletter" dont la saisie est obligatoire, et un fieldset "Send newsletter".
  • Dans ce fieldset, la valeur par défaut du champ "Send action" dépend de ce qui est indiqué dans "Site configuration>Simplenews>Newsletter" champ "Default sent action".
  • Après qu'un contenu de ce type est validé (pour création ou mise à jour), ce champ "Send action" reprend sa valeur par défaut, même si sa valeur a été changée avant la validation. Ex : valeur par défaut "Don't send now", changée pour "Send newsletter", et remise à "Don't send now" après avoir cliqué sur "Save and send".

Comment peut-on savoir si un contenu a déjà été envoyé (ou non) par Simplenews, sachant que dans "Content management>Newsletters>Sent issues" ou "Content management>Newsletters>Draft issues" je ne vois jamais rien ?
Ceci bien-sûr afin d'éviter d'envoyer aux abonnés plusieurs fois le même contenu, ou bien qu'un contenu ne leur soit jamais envoyé.
NB : j'ai également testé sans succès une vue en utilisant le champs "Simplenews: Sent status".

D'avance merci pour vos éclairages !

Version de Drupal : 

bonjour,

normalement lorsque ta newsletter est envoyée tu n'a plus la possibilité de l'envoyer , d'ailleurs si tu édites ton contenu newsletter tu ne pourra que faire save et non save and send. De plus dans Gestion de contenu/bulletins tu a publications envoyées qui t'indique les newsletters envoyées et si avec tout cela tu ne vois toujours, tu peux faire une petite requête en base.

select * from simplenews_subscription; (tu verras les snid des comptes actifs ou pas mais pas encore associé a ton ou tes newsletters)

select * from simplenews_snid_tid; (tu verras les snid de la table simplenews_subscription et le tid qui est l'id de la newsletter auquel doit être inscrit ce visiteur)

select * from simplenews_newsletter; c'est cette table qui t'indique si la newsletter a été envoyée ou pas statut a 1 envoyé a 0 pas encore envoyée

Si tu souhaites par exemple renvoyer une newsletter déjà envoyée il te suffit de faire un update de ce champ a 0 et ainsi tu pourras de nouveau en éditant ta newsletter la renvoyée.

Voila j'espère avoir pu t'aider un peu.

Merci beaucoup pour ta réponse rapide et précise !

Sauf erreur, tu fais référence à un type de contenu "Newsletter issue", lequel, je suis d'accord avec toi, fonctionne comme tu l'indiques, et les informations idoines se trouvent bien dans les tables que tu cites. Mais mon problème n'est pas là.

Ce qui m'intéresse, c'est de pouvoir envoyer par mail aux abonnés tous les nouveaux contenus d'un type de contenu particulier. C'est un peu le principe d'une syndication, RSS ou autre, mais par mail. A priori, du moins en apparence, Simplenews offre cette possibilité.

Pour cela, dans "Site configuration>Simplenews>General", en plus de "Simplenews issues", j'ai coché les 2 types de contenu que je souhaite envoyer par mail aux abonnés. Dès lors, tout comme pour un contenu de type "Newsletter issue", 2 nouveaux champs font leur apparition dans chaque contenu de ces 2 types :

  • un champ liste nommé "Newsletter" dont la saisie est obligatoire,
  • et un fieldset nommé "Send newsletter".

Jusque là, tout va bien ; c'est après que cela se gâte. Par exemple :

  • Dans "Site configuration>Simplenews>Newsletter", je place la valeur du champ "Default sent action" à "Send newsletter".
  • Je crée un nouveau contenu issu de l'un des 2 types de contenu précités. Dans ce contenu, le champ "Send action" du fieldset "Send newsletter" vaut dès lors "Send newsletter". Je clique sur le bouton "Save and sent", et le mail est envoyé aux abonnés, directement ou via le cron.
  • Premier constat : ce mail, envoyé ou non, ne semble pas être considéré comme une newsletter issue, car il n'apparait nulle part dans l'interface, ni (logiquement) dans les tables que tu mentionnes.
  • Second constat : le champ "Send action" du fieldset "Send newsletter" dudit contenu vaut encore et toujours "Send newsletter". Autrement dit, si l'envoi est géré par le cron, il va être renvoyé indéfiniment...

Il y a certainement quelque chose que je ne fais pas, ou mal, mais je ne vois pas quoi !

ERRATUM

Dans mon dernier post de ce matin, j'ai fait (au moins) une erreur concernant le second constat : le mail n'est pas renvoyé indéfiniment par le cron (ouf) ; il n'est renvoyé que si on retourne sur le contenu en mode édition (même sans rien modifier) et que l'on clique sur "Save and send".

Pour tester ce que tu indiques, j'ai paramétré exactement simplenews comme tu l'indiques puis j'ai crée trois contenus de type "photo" et "article" (c'est un exemple) ou apparaissent bien les deux champs, le premier "Newsletter" qui te permet de choisir parmis les newsletters disponnibles et le second "Send action" ou par défaut est coché "Send newsletter" puis j'ai envoyé deux des contenus et pas le troisième. Mes contenus sont bien présent dans la liste de mes contenus sous le type "photo" ou "article" et dans "Content Management/Newsletter/Sent issues" je vois bien mes contenus qui ont été envoyé ou bien en attente d'envoi.

Voici la procédure que j'ai appliqué pour les tests:

1-j'ai crée trois contenus de type "photo" et "article"
Respectivement node/14,node/15 et node/16

2 - j'ai envoyé le contenu node/14 immédiatement, node/15 envoyée mais en attente d'envoi par Cron et node/16 pas envoyée. Lorsque le contenu crée est envoyé si j'édite de nouveau mon contenu, le champ "Send action" a été remplacer par le champ "Send newsletter" et la valeur de ce champs est: This newsletter has been sent, on n e peux donc plus envoyé ce contenu.

3- j'ai fait une recherche du TID de ma newsletter qui est ou que tu as crée dans "Content Management/Newsletters/Newsletter/List Newsletter".
Pour connaitre son TID je passe par le module Taxonomie Manager qui te permet d'afficher le TID d'un terme de vocabulaire. Dans mon cas c'est le TID 11 .

4 - Je fait une petite requete :
select * from simplenews_newsletter;

qui me donne comme résultat :

nid  vid  tid  s_status  s_format  priority  receipt
14   14   11   2     plain     0         0
15   15   11   1      plain     0         0
16   16   11   0      plain     0         0

Tu peux voir le nid et vid (14,15,16) qui correspondent a mes nodes , puis le tid (11) qui correspond a mon terme de Taxonomie correspondant a ma newsletter puis le statut (2 pour envoyer,1 en attente d'envoie et 0 pour pas envoyer).

On a donc toutes les informations que ce soit au niveau du contenu crée, de l'envoi ou pas.

Donc pour répondre a tes deux constats :
1 - Le contenu envoyé par mail apparait dans la liste de mes contenus sous le type pour lequel tu l'a crée ainsi que dans "Content Management/Newsletter/Sent issues" et dans la table simplenews_newsletter.

2 - Une fois ton mail envoyé il ne sera pas envoyer indéfiniment puisque sont statut dans la table simplenews_newsletter passe a 2 . D'ailleurs tu peux egalement voir si tu édites ton contenu que le champ "Send action" a été remplacer par le champ "Send newsletter" et la valeur de ce champs est: This newsletter has been sent

Voila j'espère avoir pu apporté des réponses a tes questions.

Un grand merci à toi !
J'ai appliqué ton protocole, et cela fonctionne parfaitement. J'ai cherché à comprendre pourquoi ce n'était pas le cas jusqu'ici, et je pense le savoir : j'ai fait tous mes essais avec des contenus existants avant l'installation du module Simplenews. Autrement dit, je n'ai créé aucun contenu, je n'ai fait qu'éditer des nodes anciennement créés.
J'ai un peu honte...
Encore merci pour ta patience et ton efficacité !
Passe un très bon dimanche.

Bonsoir @ tous,

j'ai un pépin, je viens de passer la mise à jour en drupal 6.16 j'étais en 6.15 auparavant, j'en ai profité pour mettre mes modules à jour et en particulier simplenews.
Malheureusement j'ai un gros problème depuis cette mise à jour, effectivement quand je publie un article sur mon site, un mail est envoyé à tous les inscris de la newsletter mais dorénavant le mail par en boucle toute les heures (à l'heure du cron)
j'ai tenté de mettre à jour la table de manière manuelle, en mettant un 2 dans le s_status si je vérifié dans la partie d'administration de simplenews ma news est bien coché comme publié et envoyé mais celle ci continue a être envoyé chaque heure ....
Si quelqu'un à une idée a ce sujet je suis preneur !
Merci d'avance @ tous