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

  • Bonjour,

    Ca fait un moment que j’utilise spip mais je n’ai toujours pas compris comment on ajoute une balise.
    Est-ce que quelqu’un pourrait m’expliquer la démarche notamment pour ajouter #FORMULAIRE_CLEVERMAIL ? (Où dois-je aller ? J’utilise Filezilla.)

    En effet j’ai ajouté le plugin facteur et clevermail, mais je voudrais que le lien Newsletter s’affiche sur mon site. Si j’ai bien compris en ajoutant cette balise Newsletter s’affichera, est-ce bien cela ?

    Voilà, ça fait plusieurs fois que j’installe différents plugins, pour ceux où il n y a pas de balises à ajouter aucun souci.
    Mais pour ceux où il y en a je n’ai toujours pas compris comment faire.

    Merci d’avance pour votre aide !

    Répondre à ce message

  • PB avec Free : Clevermail ne marchait pas, l’envoi ne fonctionnait pas. Il a suffi de créer un petit fichier txt qui contenait PHP 1 (et c’est tout !), de le nommer toto.txt par exemple, de le transférer dans le répertoire SPIP et de le renommer .htaccess Tout s’est alors mis à marcher. Cela a vient d’un problème de version du langage PHP que ce petit fichier permet de régler.

    Répondre à ce message

  • 10

    Bonjour,

    J’a un petit problème avec clevermail, j’envoi mon courrier je le reçoit (parfois 8h après, pour un mail test), mais surtout quand je veux envoyer un autre message le bouton « nouveau message » est inactif, je suis obligé de supprimer le message envoyé pour le réactiver...

    Quelqu’un a une idée ?

    • Je précise que c’est étrange, lors de mes tests ça marche et a partir d’un moment ça veut plus marché. Sans trop de raison car je touche à rien... juste le fait de revenir sur le site 1h après...

    • et mon url indique ça :

      monsite.com/ecrire/ ?exec=clevermail_lists&err_lst=1&err_msg=erreur_contenu_vide#lst1

    • Bon,

      Je pense avoir compris... Mon clevermail est sur « aucune automatisation »

      quand je test le premier mail, il envoie l’actualisation de tout mes articles.

      Il faut republier en ligne un nouvel article. pour pouvoir renvoyer a nouveau, et reactiver « nouveau message »(d’ou l’indication dans l’url « erreur_contenu_vide »)

      Mais pour le moment j’ai l’impréssion qu’il faut un article du jour de l’envoi par clevermail.
      Nous sommes le 13, j’ai publier un article en modifiant la date je l’ai mis au 12, cela marche pas.

      J’espère étre assez clair...

    • Le squelette par défaut ne prend que les articles publiés après la date du dernier envoi.

    • Merci de m’avoir répondu, et merci aussi pour ce pluging.
      Ok, je comprend, donc impossible d’envoyer le courrier le matin du 13, de republier un article l’après midi du 13 pour l’envoyer. Je dois attendre le 14 pour envoyer mon article publier le 13 l’aprés-midi ?

      J’ai un nouveau problème, j’ai fait un squelette-maison, dans la prévisualisation ça marche, mais je le reçoit en texte brut dans gmail, pourtant tout est sélectionné en « html », il y a t-il un truc à savoir pour appeler mon css dans mon gmail ? mettre le css mélangé dans le html ?

      Merci pour votre aide

    • Salut,

      Pour tous les clients mail : CSS inline obligatoire... Pour Gmail c’est pire : ça a été mon plus gros problème ces derniers jours.
      J’ai exposé le problème qui se pose pour le code généré par spip sur la page du couteau suisse où Pat m’a proposé une solution que tu pourras explorer . En Attendant que Gmail fasse un effort en matière d’interprétation du html/css...

    • Merci Sylvano,

      Oui avec le css inline ça marche... j’ai tester sur plusieurs boites mail et gmail ne semble pas faire de caprice... je vais jeter un oeil sur ton lien.

    • Gaston, tu peux très bien faire ce que tu veux dans ton squelette, pour qu’il prenne quand même un contenu publié avant l’envoi précédent. Je ne parlais que du comportement du squelette fourni par défaut.

      Pour ce qui est des CSS à mettre en ligne, c’est une configuration du plugin Facteur utilisé pour les envois.

    • Nouvelle liste : rien ne part depuis deux jours malgré de nouveaux articles sur le site et le réglage sur « Envois quotidiens ».

      Je lis dans ce fil :

      Le squelette par défaut ne prend que les articles publiés après la date du dernier envoi.

      J’essaie donc de lancer « sans automatisation » un premier « nouveau message ». Et là, j’ai l’URL du message vide décrit plus haut.

      Comment donc déclencher le premier message afin que le reste suive ?

    • Cela fait presque un mois que j’essaye d’avoir quelque éclairage en posant des questions ici... sans succès. Je jongle avec Spip depuis longtemps, mais davantage au feeling et avec beaucoup de copier-coller qu’au moyen de réelles connaissances. J’imagine que je dois bien mal m’exprimer. Je vous prie de m’en excuser.

      Je tente pourtant encore une question : la version de PHP a-t-elle une incidence sur le fonctionnement du plugin ? Je viens de découvrir que notre site est en PHP4. Ceci peut-il expliquer certains de nos déboires en matière d’envois de mails via Clevermail ?

      Pardon si c’est une question naïve. Merci à qui pourrait me répondre quand même. A cette question ou à l’une des autres posées sur ce forum. Sincèrement.

    Répondre à ce message

  • 2

    J’ai une autre question.
    Et là, j’ai beaucoup cherché et avec l’esprit plus clair ;-)
    Et j’ai lu (presque) tout le forum sans succès.

    Voilà !

    J’ai fait un squelette-maison pour avoir le look du site dans la lettre.
    J’ai copié-collé les codes de « clevermail_nouveautes_html » à la bonne place.

    Le problème, c’est que lorsqu’il n’y a rien à envoyer, il envoie quand même un message à tous les abonnés, mais vide !

    Comment faire pour que mon squelette fonctionne comme le squelette de base ?
    Comment est gérée cette fonction qui fait que rien ne part quand il n’y a rien à montrer ?

    Merci de votre aide.

    • Alors là : je n’y comprends plus rien de rien !!!

      Dans la même Lettre (je pense que ce paramètre a son importance),
      -  je remplace mon squelette-maison (qui envoie des mails blancs quand il n’y a pas de nouvelle parution)
      -  par le squelette par défaut « clevermail_nouveautes_html » ;
      -  je laisse l’envoi quotidien automatique de nuit
      -  et ce matin : stupéfaction ! Je reçois.... un mail blanc !!!

      Le paramètre que je cherche et qui commande le « non envoi de la Lettre quand il n’y a rien de nouveau sur le site » ne serait donc pas dans le squelette puisque là, c’est le squelette fourni par le plugin qui ne renvoit pas ce qu’il fait habituellement !!!

      J’ai dû faire des bêtises quelque part !
      Mais où ???

      C’est toute une association (petite, certes, mais active) qui compte sur moi pour résoudre ce problème...
      J’accepte volontiers un peu d’aide si c’est possible.
      Merci.

    • Bonjour,

      J’ai laissé « reposer » et tout est redevenu normal sans que je comprenne pourquoi.

      Hier à nouveau un envoi sans publication ???

      Et ce matin, avec un nouvel article qui était pré-publié pour paraître ce jour, l’envoi mentionne tout en bas ce message répété un grand nombre de fois :

      « Warning : cannot yet handle MBCS in html_entity_decode() ! in /htdocs/public/www/Om/plugins/auto/clevermail_pour_spip2/genie/clevermail_queue_process.php on line 56 »

      La ligne 56, c’est ça :

      $subject = trim(($list['lst_subject_tag'] == 1 ? '['.$template['@@NOM_COMPLET@@'].'] ' : '').html_entity_decode($post['pst_subject'], ENT_QUOTES,'UTF-8')); 

      Est-ce que c’est le fait d’avoir un article publié mais en attente depuis 48h qui produit cela ?

      Mes connaissances ne me permettent pas de comprendre.
      Merci de votre aide si c’est possible.

    Répondre à ce message

  • 3

    Bonsoir,

    La doc est peu explicite, et je ne trouve pas le moyen de faire une recherche dans les commentaires.

    Chez moi, les balises propres à clevermail (du genre @@URL_LETTRE@@) ne sont pas calculées. D’où cela pourrait-il venir ?

    Merci pour vos idées !

    Sylvano

    • Ne sont-elles pas calculées dans le message envoyé, ou dans la prévisualisation ?

    • Merci ! Effectivement, elles sont calculées au moment de l’envoi (logique pour la désinscription mais pour URL_LETTRE, je pensais qu’elle pouvait être calculée avant l’envoi).
      J’imagine que la doc concernant ces balises viendra bientôt ? Je crois que nous sommes nombreux à nous interroger sur leur fonctionnement. Par exemple, la balise URL_LETTRE ne reprend pas le squelette avec lequel la lettre a été envoyée (j’ai fait un lien autrement pour l’instant avec ?page=mon_squelette_sans_les_balises, vu que je n’utilise pas la sélection des article déjà envoyés).
      Super plugin en tout cas !

    • C’est une partie qu’il faudrait complètement revoir, pour utiliser par exemple des balises SPIP #URL_LETTRE plutôt que ces @@URL_LETTRE@@.

      Peut-être quand je prendrais le temps de migrer en SPIP 3, à moins qu’une autre bonne volonté puisse contribuer.

    Répondre à ce message

  • J’ai commencé à traduire le plugin en anglais, vous pouvez aider :
    http://trad.spip.org/tradlang_module/clevermail?lang_orig=fr&lang_cible=en

    Répondre à ce message

  • 1

    Bonjour,

    Merci pour votre travail !

    J’ai créé un squelette spécial pour ma lettre, avec le look du site.
    J’ai indiqué juste le nom du squelette (sans .html) dans la page Clevermail en privé.
    L’envoi se passe bien et le look est là avec les infos demandées, pas de souci.

    SAUF QUE les liens dans le mail ne sont pas corrects !

    Mon spip n’est pas à la racine du site mais dans un sous-dossier.
    Et les liens contenus dans le mail ne prennent pas en compte ce sous-dossier.
    Les liens sont fabriqués comme si le spip était installé à la racine.
    Donc, tout tombe dans le vide !

    J’ai essayé plein de trucs depuis 3 jours.......... et je ne m’en sors pas.
    Si quelqu’un a une idée pour me sortir d’affaire !
    Mille mercis par avance !

    Et.... belle année 2012 à tous les spipeurs ;-)

    • Je me réponds, c’était vraiment tout bête.
      J’ai mis les liens complets !
      Merci !

    Répondre à ce message

  • bonjour,

    je travaille dans une société qui a un site d’internet programmé déjà Php+Spip 2.010
    moi j’ai jamais travailler avec Spip :-(
    et mnt la je doit faire une lettre d’information :-(,
    donc après la recherche et l’aide surtout je suis là, a la forum de Spip, chapitre CleverMail,
    je veux savoir est ce que il faut programmer au bien juste installer Blugins CleverMail ? ca d’une coté de l’Administration du site.

    2e coté : c la page PHP : ci-joint une image de notre site ou il s’affiche lettre d’information
    il faut la modifier pour avoir la possibilité de noter nom prénom et l’adresse mail ???

    Répondre à ce message

  • bonjour,

    je travaille dans une société qui a un site d’internet programmé déjà Php+Spip 2.010
    moi j’ai jamais travailler avec Spip :-(
    et mnt la je doit faire une lettre d’information :-(,
    donc après la recherche et l’aide surtout je suis là, a la forum de Spip, chapitre CleverMail,
    je veux savoir est ce que il faut programmer au bien juste installer Blugins CleverMail ? ca d’une coté de l’Administration du site.

    2e coté : c la page PHP : ci-joint une image de notre site ou il s’affiche lettre d’information
    il faut la modifier pour avoir la possibilité de noter nom prénom et l’adresse mail ???
    merciiiii

    Répondre à ce message

  • Bonjour,

    j’airmerais personnaliser 2 formulaires différent dans l’espace public pour l’inscription à ma newsletter (un façon widget sur la page d’accueil, l’autre affichée dans un article).

    L’objectif étant de créer des pages affichant un formulaire dont le design et la mise en page diffère du formulaire original.

    J’utilise comme formulaire de départ clevermail.html que j’ai déjà remodeler à ma sauce une 1re fois.

    Reste à modifier l’affichage pour personnaliser la présentation, et là je bloque...

    Il me faudrait pouvoir passer un paramètre lorsque j’appelle #FORMULAIRE_CLEVERMAIL pour indiquer sur quelle page je me trouve (via l’id_article par exemple ou une variable d’environement) mais jusque là tous mes essais on était infrusctueux.

    Peut-être existe-il une méthode plus simple...

    Après des heures de recherches je donne ma langue au chat !

    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