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

  • 11

    Bonjour,
    j’ai un drôle d’attachement a mes newsletters : soundmanager2.swf, un fichier venant du plugin lecteur multimeadia ! Bizarre, qu’est-ce qu’il fou là ? Comment ça pourrais se faire ? Quelqu’un aurait une idée ?
    merci d’avance
    joz

    • Quel rapport avec CleverMail ?

    • C’est CleverMail qui assemble mes newsletters, et y place un attachement qui ne devrais pas y être..

    • Es-tu sûr que ce sont les squelettes par défaut de CleverMail qui sont utilisés ?

    • non, je les ais modifiés, mais je n’y ai rien mis qui concerne un attachement, saurais même pas comment le faire..

      je comme mes boucles ici, p-ê ils découvrent l’erreur :

      #SET{news-art, #ARRAY}
      <BOUCLE_array_news(ARTICLES){age_relatif<=0}{id_rubrique IN 127,128,138}{lang}{!par date}>
      	#SET{news-art, #GET{news-art}|push{#ID_ARTICLE}}
      </BOUCLE_array_news>
      <BOUCLE_array_news_include(ARTICLES){id_mot=1041}{age_relatif<0}{!par date}{lang}>
      	#SET{news-art, #GET{news-art}|push{#ID_ARTICLE}}
      </BOUCLE_array_news_include>
      
      <BOUCLE_articles(ARTICLES){id_article IN #GET{news-art}}{0,50}{!par date}>
      <div style="margin: 5px auto; border: 1px solid #B01D09; padding:0.9em;">
      	[<p>(#SURTITRE)</p>]
      	<h3 style="font-size:1.27em; font-weight:bold; margin-top:0;">
      		<a href="#URL_SITE_SPIP/[(#URL_ARTICLE)]">[(#TITRE|supprimer_numero)]</a>
      	</h3>
      	[<p style="font-size: 1.05em; font-weight: bold; color:#6C3F18;">(#SOUSTITRE)</p>]
      	<p style="font-size:.9em;">
      		[(#DATE|affdate)]
      		<B_auteur><:par_auteur:><span style="color:#B01D09; font-weight:bold;">
      		<BOUCLE_auteur(MOTS){id_article}{id_groupe=22}{","}> #TITRE</BOUCLE_auteur>
      	</p>
      	#INTRODUCTION
      	<div class="extra" style="text-align:right;">
      		<a href="#URL_SITE_SPIP/[(#URL_ARTICLE)]"><:lirearticle:></a>
      	</div>
      </div>
      </BOUCLE_articles>
    • Bonjour,

      Est-ce que par hasard vous utilisez le plugin Multimédia ? Et Couteau Suisse avec la lame « ajouter #INSERT_HEAD sur toutes les pages » ?

    • oui c’est bien ça, Lecteur Multimédia & Couteau Suisse avec #INSERT_HEAD ...

    • Est-ce que tu as essayé en désactivant l’un ou l’autre de ces plugins ? Ou désactiver les 2 plugins aussi ?…

    • pas encore... vais le faire aussi tôt que possible. mais je ne saurais pas quoi faire si je devrais m’en passer d’un de ces plugins :/

    • Ben je pense que désactiver la lame du Couteau Suisse suffirait. Mais pour ça, il faudrait bien sûr vérifier que tous les squelettes ont la balise #INSERT_HEAD là où il le faut…

      Ou sinon, faire comprendre au Couteau Suisse de ne pas toucher aux éléments de CleverMail mais vous toutes les actions traiter par phpmailer() ou et je ne sais pas quoi… Mais c’est une autre histoire ça et un autre forum.

      Pour info, j’ai connu, avec SPIP-Listes, un soucis similaire : insertion de code non désiré dans l’entête d’un email par l’intermédiaire de la lame…

    • Bonjour,

      J’ai le même souci, une solution a-t-elle été trouvée pour ce problème ?

      Merci d’avance

    • Sorry, de ne répondre que maintenant, je n’avais pas le temps d’essayer plus tôt :/
      Mais c’était bien le #INSERT_HEAD du couteau suisse. Enora, il suffit donc de faire comme Teddy disait : désactiver le #INSERT_HEAD du couteau et le placer directement dans les squelettes.
      Merci pour l’aide.
      à+
      joz

    Répondre à ce message

  • Bonjour,
    Je suis nouveau sur le site. J’ai créé un site pour l’APE de l’école de mes filles. http://ape.arbusigny.free.fr
    Je veux mettre en place une lettre d’information via clevermail. J’ai créé une nouvelle lettre. J’ai insérer la balise #FORMULAIRE_CLEVERMAIL dans un article. Mais il n’apparait pas en ligne comme un « questionnaore d’inscription » mais comme il a été écrit dans l’article.
    Comment doit-on faire ? Je pense que la question a été posée 15 fois mais je n’ai pas trouvé la réponse.
    Merci de votre aide.

    Répondre à ce message

  • 4
    ChristianD.

    Bonjour,

    Je m’aperçois que Clevermail ne prend pas assez de jours après le précédent. Où modifier pour qu’il ne prenne pas 20 mais 30 jours ?

    Merci d’avance.

    Christian

    • ChristianD.

      J’ai trouvé. Il faut modifier le fichier clevermail_nouveautes_html.html.

      C’est bien de faire les questions et les réponses ;-).

    • Que signifie « pas assez de jours après le précédent » ?

    • ChristianD.

      Par rapport à mon précédent envoi, il y avait des articles qui manquaient. En fait, je voulais parler d’articles et non de jours...

    • Je comprends mieux... ;-)

    Répondre à ce message

  • 5

    Ok bon j’arrive a cree des listes, et envoye des message, maintenant mon problem est le titre de l’email / du message.

    Ca affiche ’aucun sujet’ par defaut. Bien sur je peux aller changer manuellement le titre, mais dans le cadre d’un envoi automatiser tous les jours c’est un peu dommage que le titre de l’email soit ’aucun sujet’

    bon je suppose que c’est un truc simple a changer, mais poru le moment ca m’echappe.

    PS : super plugin !

    • Si je ne m’abuse, CleverMail cherche dans le message un <h1> duquel extraire le sujet du message...

    • ah ben voila, c’est ce qui me manque je suppose :) tu devrait ajouter ca dans le document de doc ;)

    • humm... j’ai mis un H1 dans mon template mais ca a pas l’air de marcher... tu peux comfirmer ou se trouve se code qui cherche le H1 ? pour info voila l’url de ma newsletter : http://www.pcawt.com/spip.php?page=clevermail_newsletter_html

    • Je ne vois pas de <h1> dans ta page générée (fort jolie d’ailleurs)...

    • Bonjour,

      j’ai le même souci d’affichage du sujet dans les emails reçus...
      j’ai réussi à le faire afficher pour une newsletter, malheureusement je pensais avoir bien identifié le souci (renseigner une balise h1) mais sur mes nouvelles newsletters rebelotte je n’arrive plus à faire afficher le sujet... je commence à me demander si je ne vais pas me tourner vers une autre solution, celle-ci, pour moi, n’étant pas forcément facile d’accès pour des non initiés !

    Répondre à ce message

  • nddinechin

    J’ai suivi les indications de la doc : je viens d’ouvrir un ticket sur la zone (#704).

    Répondre à ce message

  • 2

    Bonjour,

    Bravo et merci pour ce plugin. Marche très bien, liste d’abonnés séparée des utilisateurs spip, un seul destintaire dans l’email reçu...

    Je me demande s’il est envisagé (et techniquement possible) dans votre « todo » ces fonctionnalités :
    -  réenvoi d’un message aux utilisateurs qui se sont inscrits à la liste après le dernier envoi, (j’ai l’impression que les envois sont historisés dans la table cm_posts_done)
    -  possibilité de modifier le message avant son envoi dans un éditeur (style porte-plume), quel les urls de templates liés soient « seulement » des modèles et que l’on puisse inclure un édito avant par exemple, faire une petite mise en forme avant envoi.
    -  possibilité de régler aussi la fréquence d’appel au facteur (paramétrage de la tâche genie) pour accélerer/ralentir en fonction de ses besoins et de son hébergement
    -  tracking des clics

    Si cela existe déjà et que je ne l’ai pas vu désolé pour le bruit.

    Si c’est envisageable, je peux donner un coup de main.

    • Bon ben si on commence une ’wish list’, moi j’aimerais bien ajouter

      -  Champs supplementaire pour les abonnes : nom, prenom, addresse, telephone
      ca aiderais un peu a gerer une liste de membre en meme temps que la lettre d’information.

    • Pour vos wishlists, merci d’utiliser les tickets du Trac de la zone, comme indiqué à la fin de cette doc !

    Répondre à ce message

  • 2

    Bonjour, la balise #CLEVERMAIL_UNSUBSCRIBE ne me retourne rien. Pas de formulaire de désinscription coté public. Comment dois je m’y prendre pour avoir le formulaire de désinscription ?
    Il ne me semble pas avoir vu de formulaire unsubscribe dans le répertoire form du plugin.
    Merci beaucoup

    • Je viens de trouver en revanche une balise clevermail_unsubscribe.php
      Je pensais qu’un #CLEVERMAIL_UNSUBSCRIBE suffirait mais le code source n’affiche pas la moindre trace de formulaire de désincription, et les caches ont été vidés plusieurs fois.
      Merci

    • #CLEVERMAIL_UNSUBSCRIBE permet uniquement de traiter les demandes de désinscription effectuées depuis le lien mis dans les envois.

      Il n’y a aucun mécanisme de gestion des désabonnements directement sur le site.

    Répondre à ce message

  • 2

    désolée c’est encore moi...

    plusieurs abonnés à une newsletter me signalent (le même jour) qu’ils ont reçu un mail leur demandant de confirmer leur désinscription alors qu’ils n’en avaient pas fait la demande.

    D’où est-ce que ça peut venir à votre avis ?
    merci !

    SPIP 2.1.12 / Clevermail 2.5.1 [41347] / Facteur 1.6.1 [41571]

    Répondre à ce message

  • 1

    bonjour,

    est-ce qu’il y a un moyen d’afficher, dans le mail envoyé (et reçu) un nom d’expéditeur, qui ne soit pas simplement l’adresse mail configurée dans les Paramètres comme c’est le cas actuellement ? J’ai essayé de renseigner le champ « E-mail expéditeur » avec autre chose qu’un mail (par exemple le nom du site) mais ça ne marche pas (message d’erreur dans le formulaire paramètres).

    merci,

    Répondre à ce message

  • 1

    Bonjour,
    Clervermail fonctionne très bien pour les envois d’Email.
    Mais je ne comprend pas quand je vais sur l’aperçu HTML le code entre les @@ n’est pas traduit...
    Alors que les mails reçus sont corrects.
    Sinon, le lien vers « Si vous ne visualisez pas cet email, lisez-le sur le site. » transmet une page avec les @@...
    Je cherche depuis quelques jours et je ne comprend pas tout...

    • Les balises avec des @@ sont remplacées lors de l’envoi par des valeurs propres à chaque duo lettre/destinataire, donc c’est normal qu’elles ne soient pas remplacées à la prévisualisation ou à la visualisation sur le site.

    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