Mailsubscribers

Ce plugin permet de gérer les inscriptions (ou abonnements) à la diffusion de contenu par email.

Mailsubscribers permet de gérer les inscriptions par Opt-in simple ou double et la désinscription par URL. Ce plugin gère également plusieurs listes de diffusion (simplifiées) permettant de cibler des listes d’inscrits au cas par cas dans les envois en nombre par courier électronique.

Pour les développeurs, ce plugin implémente la partie subscribe de l’API Newsletter et peut donc être utilisé avec les plugins Newsletters et Mailshot pour l’envoi de Newsletters.

Installation

Le plugin s’installe classiquement, et ne nécessite pas d’autre plugin pour fonctionner. Cependant, si vous souhaitez importer et exporter des listes d’abonnés au format CSV, vous devrez installer le plugin complémentaire SPIP Bonux.

Configuration

Vous pouvez configurer ce plugin pour l’adapter à vos besoins.

Opt-in

Vous pouvez choisir le fonctionnement en simple Opt-in ou double Opt-in :

  • en simple opt-in : il suffit pour s’inscrire que la personne renseigne son email dans un formulaire d’inscription explicitement dédié à l’envoi d’informations par mail, ou qu’il coche une case “je veux m’inscrire à la Newsletter” dans un autre formulaire (inscription comme redacteur dans le site par exemple) ;
  • en double opt-in : l’inscription est mise en attente suite à cette première étape, et un email est envoyé sur l’adresse courriel renseignée, demandant de cliquer sur un lien pour confirmer l’inscription. Il y a donc une étape de vérification.

Le mode double opt-in permet d’avoir une base d’inscrits de meilleure qualité. Il évite les inscriptions forcées, pour le compte d’autrui, ainsi que d’inscrire une adresse email erronée (faute de frappe). Ce mode est nécessaire dans certain pays pour être en accord avec la loi. En France le simple opt-in suffit, mais il est recommandé d’utiliser le double opt-in.

Inscription à la Newsletter lors de l’inscription au site

Si vous activez cette option, une case à cocher sera automatiquement ajoutée sur le formulaire d’inscription au site pour permettre l’inscription à la Newsletter en même temps.

Listes de diffusion

Pour chaque liste, indiquez un identifiant (lettres et chiffres uniquement) ainsi qu’un libellé explicite. Vous pouvez a posteriori fermer une liste : dans ce cas il n’est plus possible de s’y inscrire, mais vous conservez tout de même la liste des inscrits en base de donnée.

Par défaut, il n’y a qu’une liste de diffusion disponible, avec l’identifiant newsletter.

Listes de diffusion automatiques

Il est possible d’avoir des listes de diffusion dont les abonnés sont automatiquement synchronisées avec d’autres tables ou même d’autres bases [1]. Le plugin permet par exemple de créer les listes automatiques des Administrateurs, des Redacteurs et des Visiteurs du site.

Si vous cochez la liste des Administrateurs en Enregistrez, elle apparaîtra avec une mention précisant que cette liste est synchronisée automatiquement. Si vous raffraichissez la page quelque minutes plus tard (ce n’est pas immédiat car la synchronisation est faite en tache de fond), le nombre d’abonnés apparaitra.

Vous pouvez aussi définir votre propre liste automatique synchronisée. Pour cela, créez la liste avec un identifiant et un nom qui vous conviennent, puis ajoutez dans votre fichier mes_fonctions.php la fonction mailsubscribers_synchro_list_newsletter_xxx() que vous aurez créé (en remplaçant xxx par l’identifiant de votre liste).
Cette fonction devra retourner un tableau d’abonnés, chacun étant décrit par un tableau avec
-  l’entrée obligatoire email
-  les entrées facultatives nom et prenom.

Ces données peuvent venir aussi bien d’une table SQL, d’un fichier texte, CSV, d’une autre base de donnée…

Le plugin synchronisera alors automatiquement 1 fois par jour les abonnés avec la liste fournie par votre fonction, et vous pourrez envoyer des Infolettres sur ces listes toujours à jour.

Inscription-désinscription sur le site public

Le plugin ne propose par défaut aucune page d’inscription pour le site public. Vous devez ajouter le formulaire d’inscription et désinscription dans votre squelette.

Formulaire d’inscription

Vous pouvez insérer simplement le formulaire d’inscription dans votre squelette avec la balise #FORMULAIRE_NEWSLETTER_SUBSCRIBE. L’inscription se fera sur la liste par défaut newsletter.

Le formulaire est volontairement le plus simple possible se limitant à un label et un champ de saisie (automatiquement rempli par l’adresse email du visiteur si identifié). Cela vous permet d’ajouter un titre à votre guise. Vous pouvez modifier le libellé du bouton en personalisant la chaine de langue bouton_subscribe.

Pour proposer l’inscription sur une autre liste ou plusieurs listes, indiquez l’identifiant de la ou les listes en argument de la balise, séparés par une virgule. Les paramètres à passer doivent être entre guillemets. Par exemple :

#FORMULAIRE_NEWSLETTER_SUBSCRIBE{
    "newsletter,nouveautes",
    "checklist" }

Lors de son inscription, l’internaute reçoit un email d’information (ou de confirmation si double opt-in).

Comme pour tous les formulaires, il est possible d’insérer le formulaire d’inscription à l’intérieur du texte d’un article, plutôt que dans un squelette, au moyen de l’appel de modèle suivant :
<formulaire|newsletter_subscribe|listes=liste1| ... >

Formulaire de désinscription

Comme pour le formulaire d’inscription, le formulaire de désinscription s’insère avec #FORMULAIRE_NEWSLETTER_UNSUBSCRIBE. Vous pouvez indiquer la ou les listes concernées en argument : #FORMULAIRE_NEWSLETTER_UNSUBSCRIBE{"newsletter,nouveautes"}

Vous pouvez modifier le libellé du bouton en personalisant la chaine de langue bouton_unsubscribe.

Lors de sa désinscription, l’internaute reçoit un email d’information. Si il n’est plus abonné à aucune liste, son adresse email est obfusquée, transformée en md5 de son email avec le domaine @example.org. Cela permet de préserver l’anonymat des desinscrit, mais de les garder en base pour éviter de les réinscrire par erreur en cas d’import d’adresses par exemple.

Administration des inscrits

Liste des inscrits

La liste des inscrits est disponible dans l’espace privé, depuis le menu Activité > Inscrits aux envois par email

Inscription

Vous pouvez inscrire une adresse email manuellement depuis l’espace privé en sélectionnant “Ajouter une inscription”.

Vous devrez renseigner a minima l’adresse email et une liste de diffusion. L’inscrit sera par défaut “pas inscrit” et vous devrez modifier son statut pour l’inscrire réellement.
Lorsque vous modifiez le statut par ce formulaire d’édition, aucun courriel de notification n’est envoyé à l’adresse email concernée.

En revanche, dans tous les autres cas l’inscrit recevra automatiquement sur son adresse courriel un email de vérification quand vous lui mettez le statut “à confirmer”, et un email d’information si vous lui mettez le statut “abonné”. De même si vous le passez ensuite en “desabonné” un email d’information sera à nouveau envoyé. C’est par exemple le cas quand vous modifiez le statut de l’inscrit par le formulaire de changement dédié à cet effet :

Export des inscrits [2]

Vous pouvez télécharger la liste des inscrits ou de toutes les adresses (y compris les inscrits en attente ou les désinscrits [3]) au format CSV. Chaque colonne correspond à un champ de la table.

Import des inscrits [4]

Vous pouvez importer une liste d’adresse mail à inscrire. Un fichier CSV est attendu, avec en première ligne le nom des champs, selon le même format que celui fournit en export. Si le fichier ne comporte qu’une seule colonne, il sera supposé que ce sont des emails. Cela vous permet d’importer des fichiers textes avec une adresse email par ligne comme les fichiers d’export générés par SPIP-Listes.

Si votre fichier d’import contient une colonne statut, les adresses prendront automatiquement le statut fixé par le fichier. Un email de confirmation ou d’information sera envoyé à chaque adresse importée (sauf si vous cochez l’option pour ne pas notifier lors de l’import).

Si votre fichier d’import ne contient pas de colonne statut, les adresses seront automatiquement inscrites (directement ou via un mail de confirmation selon le réglage de votre opt-in). Cependant, les adresses emails correspondant à des personnes désinscrites ne seront pas ré-inscrites.

Après sélection d’un fichier, le formulaire vous montre une prévisualisation de l’interprétation des données sur les premières lignes du fichier, et vous pouvez lancer l’import si cela vous convient. A cette étape, vous pouvez préciser que cet import doit se faire sans notification des inscrits [5], ou aussi que vous voulez vider la table avant l’import (cas de la mise à jour complète de votre base par un fichier CSV). Cette dernière option ne vous est proposée que si vous êtes webmestre.

Traçabilité des inscriptions

A chaque fois qu’une adresse email est inscrite ou desinscrite, cela provoque l’enregistrement d’une trace dans le champ optin de l’adresse email correspondante. La trace sera enregistrée que l’inscription se fasse sur le site public, ou par un administrateur dans le back-office, ou même par un import de fichier.

La trace contient la date et l’heure de la modification ainsi que les elements d’identification de la personne qui a réalisé l’action (adresse IP si la personne n’est pas identifiée, ou id_auteur et nom de l’administrateur SPIP).

Le champ optin qui garde cette trace n’est pas éditable, et peut donc être opposé comme justificatif si une personne manifeste sa désaprobation d’avoir été inscrite à son insu (à tort ou à raison).

Migration depuis un ancien plugin

Si vous utilisiez auparavant l’un des plugins SPIP-Listes, SPIP-Lettres, CleverMail ou MesAbonnés, les inscrits seront automatiquement importés lors de l’installation de MailSubscribers (dans le cas des plugins SPIP-Lettres et CleverMail, les désinscrits sont aussi importés).

Pour cela vous devez avoir encore les tables de ces plugins dans votre base de données. Il vous faut donc désactiver votre ancien plugin, mais surtout ne pas le désinstaller car cela supprime les données.

Après avoir installé le plugin et vérifié que toutes les adresses ont bien été importées, vous pouvez désinstaller votre ancien plugin pour supprimer ses données si vous le souhaitez.

Footnotes

[1à partir de la version 1.6.0

[2Cette fonction necessite la présence du plugin SPIP-Bonux

[3les adresses mails des desinscrits sont obfusquées par un md5 pour des raisons de confidentialité

[4Cette fonction necessite la présence du plugin SPIP-Bonux

[5réserver cet usage au transfet d’inscrits d’un site à un autre, et ne pas en profiter pour importer des adresses qui n’ont pas explicitement demandé à être inscrites

updated on 2 October 2019

Discussion

181 discussions

  • 2
    Pieerot

    Bonjour,
    Est-il envisagé de remplacer les “ul/li” qui structurent les champs par des “div” dans les formulaires d’inscription pour être identique à Formidable ?
    Pierre.

    • La version actuelle du plugin étant encore compatible SPIP 3.0, ce n’est pas souhaitable.
      Je vais sans doute passer en v3 pour le support de SPIP 3.3 et abandonner la compat 3.0 et dans ce cas ce sera possible.

      Cela dit les formulaires utilisent bien les classes .editer et .editer-groupe qui sont la convention commune et doivent servir de support aux styles, donc ça ne doit pas gêner

    • Pierrot

      Bonjour,
      Ok merci pour l’explication :-) Non ça ne gène pas (c’est déjà fait en fait), mais ça serait plus joli dans ma feuille de style ...
      Pierre

    Reply to this message

  • 1

    Hello,
    Quelle est la bonne syntaxe pour afficher un formulaire d’inscription dans une page via un modèle ?
    J’ai plusieurs listes ouvertes et elles ne s’affichent pas avec les cases à cocher.
    J’ai essayé

    <formulaire|newsletter_subscribe|listes=nomliste_4|listes=nomliste_2>
    <formulaire|newsletter_subscribe|listes=4|listes=2>

    Mais la liste des listes n’apparaît pas et lorsque l’on s’inscrit c’est la liste 2 (qui est cachée donc) qui est choisie par défaut.
    Merci

    Reply to this message

  • 5

    Bonjour,
    Quelqu’un connaitrait une technique pour éviter les tentatives d’inscription par des robots (ou des casses-pieds ^^) ?
    Un captcha par exemple mais le dernier plugin est indiqué compatible avec la version 1.9 de SPIP, or mon site est en 3.2.1 ...
    Merci.

    • Ce plugin s’autodétruit si on utilise un captcha !

      JAMAIS de captcha, qui n’arrête que les humains

      Tu as essayé le plugin nospam ?

    • J’ai déjà le plugin nospam mais il ne répond pas à mes besoins, j’ai une newsletter donc avec un formulaire d’inscription. J’ai activé le double Opt-in pour ne pas avoir une flopée d’inscription bidons mais cela ne suffit pas car il y a quand même plusieurs tentatives d’inscription bidons, avec des adresses emails inexistantes ... du coup le double opt-in essaye d’envoyer le mail de confirmation, n’y arrive pas (forcément) et on recoit un “undelivered mail” ... chose qui aurait pu etre limitée avec un captcha ...

    • La version 2.13.0 du plugin, associée à la nouvelle version 2.0.0 du plugin nospam, intègre une protection renforcée contre les bots du formulaire d’inscription. A tester donc avec une mise à jour des 2 plugins dès qu’elles sont disponibles dans les zips

    • Depuis quelques temps, je constatais aussi de nombreuses demandes d’inscription d’adresses douteuses. Avec les nouvelles versions des plugins, c’est réglé.

      Merci. 🙏

    • Je trouve aussi que cela va beaucoup mieux ... pourvu que ça dure ^^
      Merci

    Reply to this message

  • 2

    Bonjour à tous,
    Je note que parfois, une personne qui s’est désinscrit, se retrouve quand même dans la liste des destinataires. Pour tester, j’ai extrait une liste d’adresses mail de personnes qui s’étaient précédemment désinscrites, puis je les ai réimportées dans une nouvelle liste, et le plugin les a acceptées. D’après ce que je lis dans la doc : «les adresses emails correspondant à des personnes désinscrites ne seront pas ré-inscrites», mais le fonctionnement que je constate indique que ce ne serait pas le cas. Est-ce que d’autres que moi auraient constaté le même problème ? Ou bien est-ce que je fais une fausse manipulation ?
    Merci ;-)

    • La version 1 du plugin ne gérait pas les inscriptions liste par liste, mais globalement uniquement. Ce qui avait ses limites, et en effet, une personne desinscrite (globalement) n’était pas réinscrite (globalement) si on faisait un import dans une nouvelle liste.

      Depuis la version 2 du plugin, les inscriptions sont gérées finement liste par liste. Donc si quelqu’un se désinscrit de toutes tes listes mais que tu créé une nouvelle liste de diffusion et que tu réimporte son adresse, en forçant les inscriptions sans demande de confirmation, il va être réinscrit. Aucun moyen de savoir si la liste a un rapport avec celles dont ils s’est désinscrit ou pas.

      Il faudrait éventuellement une option d’import pour dire “ne pas réinscrire les utilisateurs qui se sont désinscrit de toutes mes listes” mais alors aussi surement “ne pas réinscrire les utilisateurs qui se sont désinscrit d’au moins une de mes listes”.
      Mais alors il y aura plein d’autres cas tordus et chacun voudra y ajouter une condition et un cas particulier et à la fin ça sera un liste de 200 choix que personne lira et comprendra
      (bon ok j’exagère un peu).

      Cela pour dire que le plugin ne peut pas tout gérer et savoir à la place des utilisateurs... même si OK, on pourrait avoir une option du genre “gérer les inscriptions de liste globalement” qui en gros rétablirait le comportement de la première version…? (mais là encore difficile de définir la frontière)

    • Merci Cerdic pour l’explication, c’est très clair. Je n’avais pas noté cette subtilité de la version 2.
      Une option “désinscription globale” vs “désinscription liste par liste” serait en effet intéressante.
      Merci encore pour ta réponse, et pour ce très bon plugin ;-)

    Reply to this message

  • 3

    Hello,

    La fonction export CSV du plugin ne prend pas en compte le cas de figure où le préfixe de table n’est pas “spip” (et c’est triste).

    Pour éviter le problème, n’étant pas un pro de l’API SQL de Spip, j’ai modifié “action_mailsubscribers_export_dist” avec mes gros doigts, mais il doit exister un moyen plus propre. Ligne 51 de mailsubscriber.php, ça donne :

    	$prefixe = _INSTALL_TABLE_PREFIX;
    	if ($prefixe == '' ) $prefixe = 'spip';
    	$listes = sql_get_select(
    		'group_concat(L.identifiant)',
    		$prefixe.'_mailsubscriptions as S JOIN '.$prefixe.'_mailsubscribinglists as L ON L.id_mailsubscribinglist=S.id_mailsubscribinglist',
    		'S.id_segment=0 AND S.id_mailsubscriber=M.id_mailsubscriber');
    	// si un id_liste est present, restreindre l'export à cette liste
    	if ($id_liste) {
    		$identifiant = sql_getfetsel('identifiant', $prefixe.'_mailsubscribinglists', 'id_mailsubscribinglist	=' . intval($id_liste));
    		$titre = _T('mailsubscriber:titre_mailsubscribers') . "-" . $GLOBALS['meta']['nom_site'] . "-" . $identifiant . "-" . date('Y-m-d');
    		$where[] = "N.id_mailsubscribinglist=$id_liste";
    		$res = sql_select(
    			"M.email,M.nom,M.lang,M.date,M.statut,($listes) as listes",
    			$prefixe."_mailsubscribers AS M LEFT JOIN ".$prefixe."_mailsubscriptions as N ON M.id_mailsubscriber=N.id_mailsubscriber",
    			$where
    		);
    	} else {
    		$titre = _T('mailsubscriber:titre_mailsubscribers') . "-" . $GLOBALS['meta']['nom_site'] . "-" . date('Y-m-d');
    		$res = sql_select(
    			"M.email,M.nom,M.lang,M.date,M.statut,($listes) as listes",
    			$prefixe."_mailsubscribers AS M",
    			$where
    		);
    	}
    • Il n’y a pas a faire ça, c’est normalement converti dans l’API SQL, sinon ce serait beaucoup trop lourd d’écrire toutes les requêtes SQL partout.
      Tu as constaté un problème avec un préfixe spécifique ?

    • Oui, avec le prefixe ’c’;

    • J’ai localisé d’avantage le problème : c’est le 2eme argument de sql_select qui pose problème.
      Le préfixe est par contre bien reconnu dans la requête sql_get_select.

    Reply to this message

  • 10

    Ajout de champ extra (petit up !)

    Comment faut-il procéder pour que les valeurs des champs extra rajoutés/présents dans #FORMULAIRE_NEWSLETTER_SUBSCRIBE soient enregistrés en base de données lors de la validation du formulaire ? j’ai l’impression que nous sommes quelques-uns à buter sur ce point...
    Un petit indice, un lien vers de la doc ou un exemple ? Ce serait super.
    Merci (beaucoup) d’avance

    • Bonjour,
      Est ce vous avez une solution, je bute sur ce probléme..Merci

    • Marcimat a récemment fait évoluer son plugin champs extra dans l’idée de pouvoir répondre à cette situation. Avez-vous bien la drnière version de ce plugin ?
      Chez moi, l’ajout de champs extras est pris en compte à présent.

    • Tu es sûr Manu ? on n’avait pas surchargé le formulaire chez toi ?

    • Ah on était passé par un pipeline…
      Le commit était : http://zone.spip.org/trac/spip-zone/changeset/99133 qui introduit la fonction cextras_obtenir_saisies_champs_extras()

      Et on avait utilisé 1 ou 2 pipelines dans un plugin (ici de préfixe cform) :

      <pipeline nom="formulaire_charger" inclure="cform_pipelines.php" /> 
      <pipeline nom="pre_insertion" inclure="cform_pipelines.php" /> 

      Avec le code :

      function cform_formulaire_charger($flux) {
      	if ($flux['args']['form'] == 'newsletter_subscribe') {
      		include_spip('inc/cextras');
      		if ($saisies = cextras_obtenir_saisies_champs_extras('mailsubscribers')) {
      			$flux['_champs_extras_saisies'] = $saisies;
      		}
      	}
      	return $flux;
      }
       
      function cform_pre_insertion($flux) {
      	if ($flux['args']['table'] == 'spip_mailsubscribers') {
      		include_spip('cextras_pipelines');
      		$_flux = $flux;
      		$_flux['args']['id_objet'] = null;
      		$_flux = cextras_pre_edition($_flux);
      		$flux['data'] = $_flux['data'];
      	}
      	return $flux;
      }

      Je ne me rappelle pas le pourquoi de pipeline ’pre_insertion’ là comme ça.

      Note du 04.09.19 : il y a une coquille dans cform_formulaire_charger, voir la correction ci-dessous

    • Si, si, tu avais fait un petit plugin (cform) qui reprend le code ci-dessus... Je l’ai envoyé ce matin à Manou Liman qui buttait sur ce point. Du retour que cet utilisateur m’a fait, ça semble fonctionner.
      Il n’y aurait pas moyen d’intégrer ce fonctionnement “dans” mailsubscribers de telle sorte que la prise en compte des champs extras soit un comportement natif ?

    • Salut,

      je découvre tout juste la possibilité d’avoir des champs extras et l’utilisation des 2 pipelines ci-dessus. J’ai essayé de l’intégrer dans le plugin comme l’évoqué Manu, mais sans succès !

      Je passe donc via un plugin indépendant mais, avec NoSpam activé, j’ai une erreur dès qu’il y a un champ extra : “Impossible de prendre en compte votre message. Merci de le soumettre à nouveau !

      Une idée ?

      merci

    • Christophe Noisette

      Bonjour
      je me permets de relancer ce post car j’ai pas tout bien compris et mon but est de modifier #FORMULAIRE_NEWSLETTER_SUBSCRIBE pour que la formulaire d’inscription en ligne impose le nom et le prénom en plus de l’adresse email.
      Je n’arrive pas trouver la bonne formule. SI quelqu’un·e l’a déjà fait, merci de partager la réponse / solution.
      Bonne journée
      Christophe Noisette, Inf’OGM

    • Alors moi j’utilise le plugin Formidable pour cela car il est maintenant possible d’y ajouter un champ inscription newsletter cf https://contrib.spip.net/L-extension-Formidable-abonnements-a-des

    • Il y a une coquille dans le commentaire de septembre 2016 ci-dessus (cf message sur spip-zone), donc je poste la version corrigée par Marcimat pour archive.

      function cform_formulaire_charger($flux) {
      	if ($flux['args']['form'] == 'newsletter_subscribe') {
      		include_spip('inc/cextras');
      		if ($saisies = cextras_obtenir_saisies_champs_extras('mailsubscribers')) {
      			$flux['data']['_champs_extras_saisies'] = $saisies;
      		}
      	}
      	return $flux;
      }
       
       
      function cform_pre_insertion($flux) {
      	if ($flux['args']['table'] == 'spip_mailsubscribers') {
      		include_spip('cextras_pipelines');
      		$_flux = $flux;
      		$_flux['args']['id_objet'] = null;
      		$_flux = cextras_pre_edition($_flux);
      		$flux['data'] = $_flux['data'];
      	}
      	return $flux;
      }
    • @DD : Voir l’échange https://contrib.spip.net/L-extension-Formidable-abonnements-a-des#comment501565

      @Christophe : un mini tuto par là https://contrib.spip.net/5184 (en cours de validation, il devrait être publié sous peu)

    Reply to this message

  • 1

    Bonjour,

    sur mon site, j’ai créé deux listes d’emails différentes.
    Et sur l’espace public, je ne voudrais afficher que les lettres envoyées par une seule de ces deux listes (c’est une liste ouverte avec l’identifiant “newsletter”, alors que l’autre est fermée)

    J’ai essayé différents codes pour sélectionner la bonne liste et elle seule dans ma boucle spip, mais rien ne marche.
    C’est possible ou pas de faire ça ?

    un de mes essais qui ne donne rien :

    1. <BOUCLE_newsletter(NEWSLETTERS){statut=publie}{!par date} {id_list_newsletter=newsletter}{pagination 10}>

    merci !

    • Bonjour,

      j’ai le même besoin. Je vois qu’il y a une table “spip_mailsubscribinglists” avec 2 champs “titre” et “statut” mais les tables mailsubscribinglists et newsletters ne sont pas liées donc je ne vois pas comment afficher dans un squelette uniquement les newsletters d’une liste titre X ou d’un statut “ouverte” ??

      Enfin j’ai réussi en ajoutant un champ extra à la table Newsletter :
      case à cocher “Afficher sur le site ?” oui
      Et en ajoutant ce critère à ma boucle :
      <BOUCLE_nl(NEWSLETTERS) {statut=publie}{publique=on}{!par date}>

      Mais c’est un peu lourd ma solution car si un internaute va directement à la newsletter #2 qui n’est pas taguée comme publique il peut la voir tout de même à l’adresse spip.php?page=infolettre&id_newsletter=2. Donc il faut changer toutes les boucles potentiellement impactées dans les squelettes du site.

      Si quelqu’un sait comment limiter l’affichage des Newsletters en utilisant leur statut ouverte/fermée ce serait pas mal.

      Merci

    Reply to this message

  • Bonjour à tous,
    D’abord, bravo et merci pour ce super plugin, associé à mailshot et newsletter, ça nous donne vraiment un outil super puissant !
    Cependant, je me pose une question concernant la fonction “s’inscrire à la newsletter” : comment récupérer le nom de l’inscrit et pas seulement l’adresse mail ?
    Également, à l’heure du RGPD, pourrait-on imaginer une case à cocher, obligatoirement, avec la mention “j’accepte le traitement de mes données par…” ?

    Reply to this message

  • Bonjour

    Je souhaiterais abonner automatiquement tous les administrateurs et rédacteurs d’un des sites que je gère. Ou, plus finement, ceux qui ont un certain mot-clé.

    Dans la documentation ci-dessus, il est décrit la possibilité de créer des listes automatiques. Or sur la dernière version du plugin, je n’ai pas les cases à cocher présentées en illustration et permettant apparemment de sélectionner à la fois les rédacteurs et les administrateurs.

    Comment fonctionne la possibilité d’ajouter une fonction à mes_fonctions.php ? Faut-il effectuer une requête SQL avec PHP pour interroger la base de données pour obtenir la liste souhaitée, puis la synchroniser avec mailsubscribers_synchro_list_newsletter_xxx() ? Si oui, un exemple serait bienvenu ! =)

    Reply to this message

  • 1
    olivierlef

    Bonjour,

    Depuis longtemps, j’ai le problème des newsletters qui arrivent dans l’onglet “Promotion” de Gmail et la littérature sur le sujet n’amène pas de solutions. Néanmoins, en essayant de façon empirique je suis arrivé aux conclusions suivantes pour éviter que les courriels n’arrivent dans “Promotion” et je vous les partage:
    • Enlever dans le code et dans le texte tout ce qui ressemble à « newsletter» ou « lettre d’information »
    • Supprimer la possibilité de lire dans le navigateur
    • Remplacer le fameux texte : «Cliquez ici pour vous désinscrire » par « Vous ne souhaitez plus recevoir ce courriel »

    Dans le cas de ce plugin, pour le courriel de confirmation d’inscription (qui arrive aussi dans Promotion) il faut surcharger les traductions en ajoutant dans squelettes\lang
    Le fichier
    mailsubscriber_fr.php
    <?php
    // This is a SPIP language file  --  Ceci est un fichier langue de SPIP
    if (!defined('_ECRIRE_INC_VERSION')) return; 
    $GLOBALS[$GLOBALS['idx_lang']] = array(

    // Modification de l'interface d'admin
        
    'confirmsubscribe_invite_texte_email_liste_1' => '@invite_email_from@ vous invite à vous inscrire aux informations de « @titre_liste@ » de @nom_site_spip@ avec l’adresse email @email@.',
        
    'confirmsubscribe_sujet_email' => '[@nom_site_spip@] Confirmation d’inscription aux informations ',
        
    'confirmsubscribe_texte_email_1' => 'Vous avez demandé à vous inscrire aux informations de @nom_site_spip@ avec l’adresse email @email@.',
        
    'confirmsubscribe_texte_email_liste_1' => 'Vous avez demandé à vous inscrire aux informations de « @titre_liste@ » de @nom_site_spip@ avec l’adresse email @email@.',
        
    'confirmsubscribe_texte_email_listes_1' => 'Vous avez demandé à vous inscrire aux informations de « @titre_liste@ » de @nom_site_spip@ avec l’adresse email @email@.',
        
    'confirmsubscribe_titre_email' => 'Confirmation d’inscription aux informations ',
        
    'confirmsubscribe_titre_email_liste' => 'Confirmation d’inscription aux informations de « <b>@titre_liste@</b> »',
        
    'confirmsubscribe_titre_email_listes' => 'Confirmation d’inscription aux informations '
    );
    ?>

    et le fichier
    newsletter_fr.php
    <?php
    // This is a SPIP language file  --  Ceci est un fichier langue de SPIP
    if (!defined('_ECRIRE_INC_VERSION')) return; 
    $GLOBALS[$GLOBALS['idx_lang']] = array(

    // Modification de l'interface d'admin
        
    'bouton_subscribe' => 'M\'inscrire à cette Lettre'
    );

    >

    Reply to this message

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom