CleverMail

CleverMail est un plugin permettant d’envoyer des lettres d’informations à des abonnés depuis SPIP. Issu au départ d’un développement libre complètement indépendant de SPIP, il a connu une première version pour SPIP 1.9 avant d’être complètement réécris pour SPIP 2.0.

Fonctionnalités

  • Gestion de multiples lettres, avec possibilité de les rassembler par catégories
  • Gestion des inscriptions en ligne et désinscriptions, les abonnés étant distincts des utilisateurs de SPIP
  • Possibilité de restreindre la liste des lettres proposées dans le formulaire d’abonnement
  • Abonnement au choix de l’utilisateur en version texte brut ou multipart simultané HTML + texte brut [1]
  • Possibilité de forcer la version dans le formulaire d’abonnement
  • Récupération des contenus HTML et texte brut à partir de deux squelettes ou deux URL, donc utilisation de squelettes SPIP dédiés voire même de contenus externes au site
  • Automatisation des envois avec une fréquence quotidienne, hebdomadaire (multiples jours de la semaine possibles) ou mensuelle
  • Automatisation des inscriptions depuis un fichier distant

Mise en place du plugin

Télécharger le paquet ci-joint et placer son contenu dans votre dossier plugins/.

Avant d’activer CleverMail dans l’interface de gestion des plugins, vous devrez installer les plugins Facteur et SPIP Bonux.

Présentation de l’interface dans l’espace privé

Une fois le plugin activé, le sous menu CleverMail est crée dans le menu Edition.

Le menu de CleverMail permet de :

  • Lister les lettres existantes
  • Créer une nouvelle lettre
  • Lister les abonnés
  • Ajouter des abonnés
  • Paramétrer le plugin

Tableau de bord

Le tableau de bord général de CleverMail affiche la liste des newsletters et leurs caractéristiques principales :

Différentes actions sont disponibles

  • Modifier : Permet de modifier une lettre
  • Supprimer : Une lettre peut être supprimer seulement si aucun abonné n’y est inscrit.
  • Nouveau Message

Création / Modification d’un lettre d’information

Une lettre se compose de la façon suivante :

  • Nom : Le nom de la lettre est important car c’est par leurs noms que les lettres sont triées et classées par catégorie. "01. Ma Catégorie/02. Ma Lettre"
"01. " Ordre de la catégorie (peut commencer à 00. )
"Ma Catégorie" Nom de la catégorie (= Nom du type de publication)
"/" séparateur sans espace entre le nom de la catégorie et le nom de la lettre
"02. " Numéro d’ordre de la lettre (peut commencer à 00. )
"Ma Lettre" Nom de la lettre
  • Description : Explication back office de la lettre, par défaut ce champ n’apparait pas en front office .
  • Modération :
    • Ouverte : tout le monde peut s’inscrire sans confirmation
    • E-mail : tout le monde peut s’inscrire après confirmation par e-mail
    • Fermée : personne ne peut s’inscrire, utile pour tester avant ouverture, ou fermer temporairement
  • E-mail du modérateur : (Champ obligatoire) Le modérateur reçoit un mail dès qu’un utilisateur confirme sont inscription à une lettre. Plusieurs adresses peuvent être saisies en les séparant par des virgules.
  • Préfixe : Préfixe les sujets des messages avec le nom de la lettre d’information (ex : [Rapport annuel] Confirmation de votre inscription). Pour le formulaire multiple, en cas d’inscription à plusieurs lettres en même temps, ce champ n’est pas pris en compte.
  • Sujet et description d’une inscription : Message d’inscription qui sera envoyé par mail à l’utilisateur en cas de modération par E-mail. En cas d’abonnement multiple le message envoyé pour toutes les lettres est celui paramétré dans la section « paramétrage »
  • Sujet et description d’une désinscription : Message de désinscription qui sera envoyé par mail à l’utilisateur.
  • Version HTML : Nom du squelette [2] ou URL de la page permettant d’obtenir le contenu de la lettre en version HTML.
  • Version texte brut : Nom du squelette [3] ou URL de la page permettant d’obtenir le contenu de la lettre en version texte brut.
  • Automatisation des envois : Les envois des lettres d’information peuvent être fait manuellement ou être automatisés
    • Envois quotidiens : Les dernières publications [4] seront envoyées tous les jours à partir de l’heure précisée dans le champ "Heure de création du message". Les publications publiées après cette heure seront envoyées le lendemain.
    • Envois hebdomadaires : Les dernières publications seront envoyées toutes les semaines le jour et à l’heure précisés dans les champs "Jour(s) de la semaine" et "Heure de création du message".
    • Envois mensuels : Les dernières publications seront envoyées tous les mois au jour et à l’heure précisés dans les champs "Jour du mois" et "Heure de création du message".
  • Mode d’abonnement : mode d’abonnement à la liste par défaut si aucun mode d’abonnement n’est précisé ou forcé à l’inscription.

Tableau de bord des abonnés

Le tableau de bord des abonnés affiche la liste des abonnés aux newsletters. Il y a une ligne par couple abonné/newletter.

La liste des abonnés peut être filtrée sur une partie de l’adresse e-mail (@example.com par exemple) et/ou sur le nom de la newsletter.

L’administrateur a la possibilité de modifier le mode d’inscription d’un abonné ou de le désinscrire d’une lettre. Dans ce cas l’abonné ne recevra pas de mail de désinscription.

Un lien « Vider les abonnements en attente depuis plus d’un mois » permet de supprimer de la base de données les demandes d’inscriptions en attente de validation depuis plus d’un mois.

Cette fonction nettoie également les adresses de type @example.com qui seraient par erreur [5] restées dans la table des abonnés aux newsletters.

Ajout d’abonnés

Des abonnés peuvent être ajoutés dans l’interface privé à partir d’un fichier CSV ou directement en saisissant les adresses e-mail dans le formulaire.

Dans le fichier ou dans la zone de saisie, mettre une adresse e-mail par ligne, ou séparer les adresses par des virgules ou points virgules.

Paramétrage

La section paramétrage contient les paramètres communs à toutes les lettres.

Les paramètres génériques sont les suivants :

  • E-mail administrateur : par défaut mail du webmestre de SPIP
  • E-mail expéditeur (from et reply-to) : par défaut mail du webmaster de SPIP
  • E-mail return path : par défaut mail du webmaster de SPIP
  • Nombre de messages par envoi : par défaut « 50 ». A chaque traitement de la tache planifiée 50 messages seront envoyés.
  • Sujet et description d’une inscription multiple : Message d’inscription qui sera envoyé par mail à l’utilisateur en cas d’inscription a plusieurs lettres en même temps.

Mécanisme de création et envoi des messages

Envoi automatique

Les messages automatiques sont envoyés via une tache planifiée. Chaque jour, la tache planifiée regarde s’il y a eu de nouvelles publications depuis le dernier envoi et si la date du prochain envoi est atteinte.

Exemple d’une lettre envoyée tous les 15 du mois :

  • Janvier : Nouvelle publication le 10 => 15 du mois => envoi
  • Février : pas de nouvelle publication => 15 du mois => pas d’envoi => nouvelle publication le 17 => envoi => nouvelle publication le 20 => pas d’envoi
  • Mars : pas de nouvelle publication => 15 du mois => envoi de la publication du 20 février

Envoi manuel

Les messages peuvent également être envoyés manuellement depuis le tableau de bord des lettres d’information.

Pour créer un nouveau message, cliquer sur le lien "nouveau message" d’une lettre.

Le lien « 1 message » permet d’accéder au tableau de bord des messages d’une lettre.

Ce tableau de bord permet de voir les messages par état : nouveau message, message en cours d’envoi et message envoyé.

Différentes actions sont disponibles sur les messages (selon leur état) :

  • Aperçu HTML : Visualisation de la lettre au format HTML, avant remplacement des balises de personnalisation
  • Aperçu texte : Visualisation de la lettre au format texte, avant remplacement des balises de personnalisation
  • Modifier : Modification du message qui sera envoyé
  • Supprimer : Suppression du message
  • Envoyer : Envoi du message, le message est déposé dans une file d’attente que le Facteur va dépiler au fur et à mesure de l’exécution du génie de SPIP. Le message en attente n’est plus modifiable ni supprimable.

Intégration au site public

La balise #FORMULAIRE_CLEVERMAIL permet d’afficher le formulaire par défaut des listes non filtrées par catégorie.

Il est possible de restreindre le formulaire d’abonnement à une newsletter en précisant l’id de la lettre :
#FORMULAIRE_CLEVERMAIL{1}

Il est aussi possible de restreindre le formulaire d’abonnement à un unique mode en précisant texte ou html :
#FORMULAIRE_CLEVERMAIL{0,html}

Il est enfin possible d’utiliser un formulaire avec des cases à cocher plutôt qu’une liste en passant box en troisième paramètre [6] :
#FORMULAIRE_CLEVERMAIL{0,html,box}

La balise #FORMULAIRE_CLEVERMAIL_MULTIPLE permet d’afficher le formulaire d’abonnement multiple filtrées par catégorie.

Support

En cas de bug ou problème particulier, merci de vérifier sur le Trac de la zone si un ticket existe déjà, et si nécessaire de créer un nouveau ticket avec le « component » "plugins/clevermail" et faire un commentaire ici-même pour signaler ce ticket.

Si vous avez des idées pour améliorer le plugin, même chemin, créez un nouveau ticket avec le « component » "plugins/clevermail" !

Si vous aimez ce plugin, et l’utilisez sur un site public, n’hésitez pas à le signaler sur sa fiche !

Notes

[1Attention, Lotus Notes n’aime pas...

[2CleverMail en propose un par défaut

[3CleverMail en propose aussi un par défaut

[4C’est à dire depuis l’envoi précédant.

[5Un bug depuis corrigé pouvait conduire à cette erreur

[6Le code impose pour l’instant de préciser les deux premiers paramètres, ce sera amélioré ultérieurement...

Discussion

195 discussions

  • 3

    Bonjour,
    Il semble y avoir une incompatibilité de plugins gênante.
    J’essaie d’abonner des mails à une liste et j’ai l’erreur :
    « Fatal error : Cannot redeclare balise_config() (previously declared in /plugins/auto/spip-bonux/configurer/pipelines.php:296) in plugins/cfg/cfg_fonctions.php on line 17 ».
    Est-ce que ça ne concerne en aucun cas Clevermail ?
    Mais ça apparaît dans le cadre de l’utilisation de Clevermail.
    Quelqu’un a-t-il eu une incompatibilité entre Spip bonux et cfg ?
    Quelqu’un a-t-il trouvé une solution ?
    Merci.

    • Je complète : malgré le message d’erreur, l’abonnement s’est effectivement fait.
      Mais le message est plus que déroutant !

    • Déposé comme Ticket #696

    • J’ai un doute, Clevermail n’est pas incompatible avec cfg quand même ?
      Si oui, comment faites-vous, utilisateurs, pour vous passer de cfg ?
      Merci.

    Répondre à ce message

  • Bonjour,
    Je rencontre un probleme avec une installation sur un spip 2.1.2.
    Tout fonctionne, mais j’ai l’impression que quel que soit le paramétrage du nombre de message par envoi, il les envois 1 par 1 ?.
    Pour info j’ai un autre suite qui fonctionne avec spip 2.0.10, c’est avec les fichiers log de se site que j’ai pu localiser les lignes qui correspondent aux messages envoyés et donc bien verifier que le nb de ligne correspond au parametre.
    Pour finir, le type d’hebergement et un OVH-PRO.
    Si quelqu’un à une idée.

    Merci

    Répondre à ce message

  • 1

    Bonjour à tous,

    Je sollicite de l’aide : peut-on spécifier la récupération d’une rubrique spécifique et ses articles , à envoyer aux abonnés ?

    autrement : est-il possible de définir un patron dans ce plugin ?

    • oui c’est possible. Nicolas ne l’appelle pas « patron » dans son mode d’emploi ci dessus, mais « squelette SPIP dédié ».

      Moi j’ai prix le fichier clevermail_nouveautes_html (et clevermail_nouveautes_text) qui se trouve dans le dossier du plugin comme base. Je l’ai renommé et sauvé dans mon dossier squelettes et changé selon mes besoins.. c’est tout. Ah oui, après il faut bien sure configurer la lettre pour utiliser le bon squelette (sous le point « URL des templates générés »).

      Peut-être ça pourrais être utile de le mentionner plus clairement dans le mode d’emploi du plugin..

      à+
      joz

    Répondre à ce message

  • tiens c’est bizarre, si le plugin « en travaux » est activé, clevermail envoie bien une newsletter automatique mais... elle contient la page d’avertissement « en travaux » du site... y’a un moyen de contourner ça ? (pour pouvoir tester l’envoi de la newsletter avant l’ouverture publique d’un site)

    et sinon lors de l’activation du plugin y’a un message d’erreur qui s’affiche, dans la colonne de gauche sur spip 2.0.12 et dans le message de confirmation de l’install du plugin sous spip 2.1. ça a pas l’air d’être gênant mais pour info si ça peut servir :

    Installation du plugin CleverMail pour SPIP 2.0
    
    Warning: Invalid argument supplied for foreach() in /homez.334/metropolg/www/ecrire/req/mysql.php on line 640
    OK

    merci !
    audrey - config : SPIP 2.1.2 [16017] CleverMail pour SPIP 2.0 2.5.1 - stable

    Répondre à ce message

  • Bonjour,
    je découvre ce plugin fort chouette
    Deux tout petits remarques :
    * quand je crée une nouvelle lettre d’informtation, le premier champs à remplir c’est "Votre nom" . Pourquoi le champ est nommé ainsi, puisque ce n’est pas mon nom que je dois y placer mais le nom que je souhaite donner à la lettre d’information.
    * Quand je m’inscris à une lettre sur le site publique, après avoir cliqué sur "s’inscrire" la phrase confirmant "Votre inscription à la lettre « lalettre » est validée. Merci." Et puis en dessous encore le champs avec mon adresse mail et le bouton "s’inscrire". ça serait plus élégant de ne plus l’afficher, non ?

    Voila, je continue à explorer le plugin. Peut-être à plus tard avec d’autres remarques ou questions.
    Merci pour le clevermail en tout cas :)
    joz

    Répondre à ce message

  • bonjour,

    le plugin fonctionne-t-il avec une version 5.2.8 de php ?

    Répondre à ce message

  • 5

    Bonjour,

    Merci pour ce plugin, de loin le plus efficace des newsletters liés à SPIP.
    Mais je voulais juste savoir si l’on pouvait exporter les abonnés dans un fichier csv ?

    Merci à vous
    fractale

    • Non, il n’y a pas cette fonctionnalité, mais son ajout pourrait effectivement être intéressant.

    • Oh oui, oh oui !
      Ne serait-ce que pour sécuriser la liste et en faire des sauvegardes, cette fonction serait vraiment un gage de sécurité.
      Merci, et merci pour ce plugin très abouti et très complet (...sauf l’export < :-))

      Par ailleurs, il est noté pour 2.0, quand je l’ai installé sur 2.1.2 [16017] j’ai eu le message (dans la page plugin, avant le OK de l’installation)
      Warning: Invalid argument supplied for foreach() in /ecrire/req/mysql.php on line 640 .

    • Ca ressemble plus à un bug de SPIP, ça, non ?

    • Et sinon, pour ce qui est de l’export, un simple squelette doit faire l’affaire, je regarderais.

    • Bonjour à tous !

      Super plugin en effet, bravo (bon trop de compliments induit une suite moins sympatoche) mais je suis comme perline :) De plus dès que je surprime une lettre non envoyée (en rédaction) ensuite le plugin plante en création de nouveau courrier.
      Le titre de la liste est présent, mais plus rien en dessous. Il faut refaire une instal propre pour que cela revienne. Mais dès que je suprime, rebelotte !
      Toutefois, il semble quelorsque je ne modifie pas le squelette de lettre, je puisse modifier sans bug plusieurs fois.

    Répondre à ce message

  • 5

    Bonsoir,
    Etapes franchies pour ce qui concerne l’install et l’importation de quelque 800 abonnés.
    Je souhaite un tout petit formulaire d’abonnement, présent partout en haut d’une colonne : j’ai donc opté pour

    #FORMULAIRE_CLEVERMAIL{1,html}

    , donc un champ + un bouton.

    Je souhaite mettre un lien dessous pour permettre le désabonnement, ou un truc genre « gérer son abonnement » au niveau de mon squelette. J’ai essayé

    <a href="@@URL_DESINSCRIPTION@@">Me désabonner</a>

    et ses variantes, mais j’ai une erreur 404. Je ne comprends pas trop comment utiliser ces balises d’ailleurs.
    Merci d’avance pour votre éclairage sur la syntaxe à adopter.

    • Il n’y a pas de fonctionnalité de gestion des désabonnements directement sur le site (ce serait un ajout intéressant), il faut mettre cette balise dans les messages envoyés, elle est remplacée par un lien.

    • Ok, je te remercie Nicolas. En tout cas, c’est un super boulot et je pense que ce plugin deviendra vite incontournable. Ce que j’aimais bien dans Spip-Listes, c’était la possibilité de diriger les internautes sur une page de gestion de leur abonnement.

      Cette page pourrait regrouper la liste des lettres auxquelles ils sont abonnés, avec des cases à cocher pour se désabonner ou s’abonner à une des newsletters, et un bouton de désabonnement général. Il faut même envisager que certains changent d’adresse email.
      Bref, je m’inspire un peu de ce qui se fait ailleurs, mais malheureusement, je ne vous serais d’aucune aide pour développer ce genre d’évolution et j’en suis bien frustrée...

      Je rejoins aussi ce qui a été dit avant : une exportation des listes d’abonnés serait un vrai plus pour la sécurité d’une part, et pour pouvoir utiliser cette liste dans d’autres opérations de com’.

      Merci beaucoup pour ta réponse.

    • Pour gérer une page de profil avec liste des abonnements et des actions dessus, il faudrait pouvoir gérer une authentification, ça devient compliqué.

      Ou alors, juste à partir d’un lien présent dans les messages, en plus de la désinscription, en considérant que la clef MD5 suffit à sécuriser...

      Et sinon, pour ce qui est de l’export, un simple squelette doit faire l’affaire, je regarderais.

    • Je comprends. Parce que si j’ai bien compris, le point fort de Clevermail c’est d’avoir des abonnés distincts des inscrits dans SPIP. Pour ma part, je vais m’en tenir à un petit message qui indique que la gestion de l’abonnement se fait sur la lettre reçue. Et je suivrai avec intérêt ton travail. Merci !

    • C’est tout à fait ça. Si SPIP-Listes n’avait pas ce mélange, nous l’aurions utilisé au lieu de développer CleverMail.

    Répondre à ce message

  • 3

    Bonjour,

    Le plugin fonctionne très bien pour ma part côté newsletter avec un squelette dédié.
    En prévisualisation (backoffice) et en mode « voir en ligne », le tag « @@NOM_LETTRE@@ » n’est toutefois pas interprète et le titre est rendu tel quel.
    Quelqun aurait-il une idée d’ou j’ai pu me planter ?

    Thx pour vos retour,

    Barbs

    • Ces tags ne sont remplacés par leurs valeurs que lors de l’envoi par mail. Il faudrait les remplacer par des vraies balises type #NOM_LETTRE

    • MasterJuh

      Bonjour Nicolas et tout le monde,

      J’ai le problème rapporté par Barbs ci-dessus (que tout le monde doit avoir je pense).
      En suivant ta réponse, j’ai remplacé les @@BALISE@@ par des #BALISE, seulement ces balises n’apparaissent plus dans les emails.

      Je vois deux solutions : soit avoir un squelette pour l’envoie d’email et un pour l’affichage sur site ; soit faire un filtre qui remplace les @@BALISE@@ par des #BALISE et qu’on utiliserait lorsqu’on génère l’affichage en ligne.

      Je ne saurais dire si la première solution est possible, et je ne sais pas faire la seconde (pour l’instant du moins). Pouvez-vous m’aider ?

    • J’avoue que je n’ai pas encore vraiment réfléchi à cette problématique, il faudrait sans doute faire un script spécifique remplaçant les marqueurs pour la prévisualisation.

    Répondre à ce message

  • 3
    Ommadawn85

    Bonjour,

    Je viens d’installer CleverMail sur mon site SPIP (2.1.2) et après avoir créé une lettre rien ne s’affiche dans la liste des lettre d’information. Si je clique sur Paramètre j’obtiens ceci :

    1 Erreur SQL
    set_value FROM spip_cm_settings WHERE set_name=’CM_MAIL_ADMIN’
    Table ’mrlachai.mrlc_cm_settings’ doesn’t exist

    2 Erreur SQL
    set_value FROM spip_cm_settings WHERE set_name=’CM_MAIL_FROM’
    Table ’mrlachai.mrlc_cm_settings’ doesn’t exist

    3 Erreur SQL
    set_value FROM spip_cm_settings WHERE set_name=’CM_MAIL_RETURN’
    Table ’mrlachai.mrlc_cm_settings’ doesn’t exist

    4 Erreur SQL
    set_value FROM spip_cm_settings WHERE set_name=’CM_SEND_NUMBER’
    Table ’mrlachai.mrlc_cm_settings’ doesn’t exist

    5 Erreur SQL
    set_value FROM spip_cm_settings WHERE set_name=’CM_MAIL_SUBJECT’
    Table ’mrlachai.mrlc_cm_settings’ doesn’t exist

    Est-ce un problème avec ma base de donnée ?

    Merci d’avance pour votre aide.

    • Est-ce que d’autres plugins créant leurs propres tables s’installent bien ?

    • Ommadawn85

      Bonjour,

      CleverMail semble fonctionner maintenant (réinstall propre). Mes autres plugins fonctionnent (sauf « Accès Restreint »...).
      En revanche, l’envoi du message n’a pas l’air de ce déclencher. J’ai bien fait un test de puis « Facteur » et je reçois bien ce test. La fonction d’envoi est réglée sur Automatique.

      Je vois pas ou cela peut clocher ?

    • Est-ce qu’il y a bien des contenus nouveaux à envoyer ? Tu devrais au moins avoir eu un premier message...

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom