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

177 discussions

  • 1

    Bonsoir,
    J’ai vu la possibilité de s’inscrire et de se désinscrire de la newsletter, je souhaiterai encapsuler les 2 balises dans une supplémentaire ou un bout de code qui permet d’afficher l’inscription ou la désinscription en fonction que l’internaute soit deja inscrit ou non, le tout dans un petit encart.
    Par contre, je ne vois pas comment savoir si l’internaute est inscrit ou non. Mes quelques pistes de réflexion sont les suivantes : cookies, SESSION...
    Merci de vos remarques pour que je cherche une solution ou d’une solution si quelqu’un a deja trouve.
    Cordialement
    Franck

    • Salut,
      Ça m’intéresse aussi la vérification d’une inscription existante sur un email. Actuellement si on saisit un email déjà inscrit le message standard “Votre inscription avec l’adresse nom@site.fr a bien été prise en compte” s’affiche.

      Or le plugin reconnaît un email inscrit puisque dans ce cas ’il n’envoie pas de demande de confirmation.

      (testé avec une seule liste dans la base)

      dd

    Reply to this message

  • 3

    Bonjour,

    J’ai détecté une incompatibilité avec la lame “MailCrypt” du plugin Couteau Suisse.
    Le cryptage rend l’adresse inexploitable également dans le message de demande de confirmation d’inscription. L’adresse dans le lien est cryptée.

    Concrètement, le (potentiel) abonné obtient une page “confirm_mailsubscriber : Accès interdit”.

    J’ai soupçonné quelque chose en voyant qu’aucun pré-inscrit ne confirmait son abonnement.

    Depuis que j’ai désactivé la lame “mailcrypt”, cela marche mieux !

    Je l’ai désactivé totalement car je n’ai pas trouvé les fonds qu’il faudrait exclure du cryptage par MailCrypt. Quelqu’un a trouvé ?

    • D’après http://contrib.spip.net/Newsletters#forum469638 c’est uniquement la lame MailCrypt du couteau suisse qui pose problème. Le plugin Mailcrypt fonctionne parfaitement.

    • Bonjour,

      Je viens de tester sur un site en SPIP 3.0.10 avec MailCrypt 2
      2.4.1 activé les adresses email dans le fichier d’import sont au format truc chez isp.com
      Lorsque je désactive mailcrypt les adresses sont au bon format.
      Il faut juste penser à le réactiver après l’import.

      Sinon j’ai une question : quelle est la table qui contient la liste des listes ? Je dois faire du ménage car (suite au passage de spip-listes vers mail subscribers ?) j’ai 2 listes vides sans identifiant ni nom ni statut sur la page ?exec=configurer_mailsubscribers et le formulaire de configuration ne veut pas prendre mes changements en compte.

      Merci

      dd

    • @Cédric : Tu as raison. Merci.
      Je confirme qu’avec MailCrypt 2 (2.4.1 pour moi), ça fonctionne parfaitement. Les visiteurs peuvent confirmer leur demande d’abonnement.

    Reply to this message

  • Bonjour,

    Il y a-t-il un rapport entre la variable « smtpd_recipient_limit » à éditer dans le fichier « /etc/postfix/main.cf » (sur le serveur d’hébergement) et le nombre d’inscrits sur une liste d’envoi ?

    Autrement dit, le nombre d’inscrits dans une liste peut-il être plus grand que la variable « smtpd_recipient_limit » ?
    Sachant que le site et le serveur SMTP sont sur un serveur dédié.

    Merci d’avance.

    Reply to this message

  • Bonjour,
    Je viens d’installer ce plugin qui marche bien. Mais à l’inscription, le mail reçu n’interprête pas correctement les balises HTML. Je retrouve donc tout le code HTML du mail dans un cadre portant comme titre le nom de mon site. :-(.

    Aussi, le mail reçu est sans Objet.

    Quelqu’un saurait-il comment corriger ceci ?

    Merci.

    Reply to this message

  • Bonsoir,
    J’ai suivi scrupuleusement cet excellent tuto... enfin, non, visiblement puisque j’ai ce message lors de l’utilisation du formulaire d’inscription en partie publique :

    Strict Standards: Only variables should be passed by reference in /homepages/8/xxxxxxxxxxxx/htdocs/ecrire/action/editer_objet.php on line 183

    Warning: Cannot modify header information - headers already sent by (output started at /homepages/8/xxxxxxxxxxxx/htdocs/ecrire/action/editer_objet.php:183) in /homepages/8/xxxxxxxxxxxx/htdocs/ecrire/inc/actions.php on line 89

    Cela n’entrave pas le cours des choses mais c’est bien embarrassant. Que se passe-t-il donc ?
    SPIP 3.0.10 [20422] , versions de Mailsubscribers, Mailshot, Newsletters à jour.
    Merci

    Reply to this message

  • wilowfr

    Bonjour
    J’ai installé ce plugin et créé une liste en plus de la liste par défaut.
    Sur la page d’inscription le bouton en dessous du champs ou le visiteur doit entrer son mail est vide, sans libellé et aucun choix n’est proposé pour sélectionner la liste à la quel le visiteur souhaite s’inscrire.
    Lors de la confirmation de l’inscription par mail un message s’affiche pour indiquer que l’inscription a bien été prise en compte mais là aussi le choix de la liste n’est pas disponible, l’inscription se fait automatiquement sur la liste par défaut.
    Quelqu’un pourrait me renseigner sur comment faire lorsqu’on a plusieurs listes ouvertes à l’inscription pour donner le choix aux visiteurs de choisir la ou les liste(s) où ils souhaitent s’inscrire.
    Merci d’avance

    Reply to this message

  • The_Moye

    Salut,

    Même erreur que b_b régulièrement présente dans mon fichier spip.log :

    ecrire/req/mysql.php:L786:spip_mysql_errno()::Pub:ERREUR: Erreur mysql 1054
    ecrire/req/mysql.php:L768:spip_mysql_error()::Pub:ERREUR: Unknown column 'langue_choisie' in 'field list' - 
    UPDATE spip_newsletters
    SET lang='lang',langue_choisie='oui'
    WHERE id_newsletter=30

    Elle semble apparaitre à l’envoi de la newsletter pour ma part, et non pas à l’inscription via le formulaire.

    Reply to this message

  • Pierrot

    Je republie ici une question que j’ai tenté de publié sur newsletter, mais je m’aperçois que cela concerne probablement plus mailsubscribers.

    J’ai de nouveau un pbm de desinscription de personnes qui consultent la newsletter en mode texte. Je constate que le lien généré par @url_unsubscribe@est différent selon que l’on soit en mode HTML ou en mode texte. Cela est peut être normal.

    Par contre je constate en plus ce qui me semble être une régression par rapport à http://zone.spip.org/trac/spip-zone/changeset/70408 : j’ai de nouveau des liens dans la version texte qui contiennent des “&” encodés en entité HTML &amp; :

    http://www.xxxxxx-xxxxxxxxxxxxx.org/spip.php?action=unsubscribe_mailsubscriber&amp;email=xxxxxxx%40xxxxxxxx.fr&amp;arg=5a7b6ef3a934448a1939081ce6e424fbc96001a3

    J’ai essayé manuellement de les enlever de l’url ci-dessus, j’arrive à un “unsubscribe_mailsubscriber : Accès interdit” donc je me demande s’il n’y a pas un autre problème en parallele ... Votre avis ?

    Pierre

    Reply to this message

  • Bonjour,
    Pour afficher l’inscription à la newsletter (spip 3 , evaweb), j’ai créé une noisette
    (bloc) #FORMULAIRE_NEWSLETTER_SUBSCRIBE. # /bloc

    Cela ne semble fonctionner ?
    N’est-ce pas ainsi que l’on procède ?
    Merci,
    cordialement.
    Alain B.

    Reply to this message

  • 2

    Bonjour à tous,

    Qui peut me dire où customiser le Formulaire d’inscription
    #FORMULAIRE_NEWSLETTER_SUBSCRIBE

    Je n’arrive pas à trouver ni le css ni le squelette lui même... Mon Firebug s’y prend aussi :-)
    Merci à tous!

    • Bonjour,

      Dans le répertoire formulaires/newsletter_subscribe.html du plugin si je me souviens bien. Je n’ai pas trouvé de css dédiée non plus, je pense qu’il faut ajouter ses propres styles qui surchargent le css formulaires.css de base (j’ai un peu galéré pour modifier son apparence)

      dd

    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