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 URL, donc utilisation de squelettes SPIP dédiés possible
- 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
- Modérée : le modérateur doit accepter l’inscription (non développé pour l’instant)
- Fermée : personne ne peut s’inscrire
- 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.
- URL Version HTML : URL de la page [2] permettant d’obtenir le contenu de la lettre en version HTML.
- URL Version texte brut : 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 [3] 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 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 [4] restées dans la table des abonnés aux newsletters.
Ajout d’abonnés
Des abonnés peuvent être ajoutés directement dans l’interface privé à partir d’un fichier CSV ou directement en saisissant les adresses 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 webmaster 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
Envoie 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 TXT : Visualisation de la lettre au format texte
- Aperçu HTML : Visualisation de la lettre au format HTML
- 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}
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 créer un ticket sur le Trac de la zone, en utilisant le component « plugins/clevermail » et faire un commentaire ici-même pour signaler ce ticket.
Si vous aimez ce plugin, et l’utilisez sur un site public, n’hésitez pas à le signaler sur sa fiche !



Télécharger le plugin CleverMail pour SPIP 2
Vos commentaires
# Le 14 mai à 16:34, par Barbs
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
# Le 20 mai à 17:12, par Nicolas Hoizey
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# Le 31 août à 21:03, par 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 ?
Répondre à ce message
# Le 13 juin à 16:24, par SuperYMS
Sous SPIP 2.1 version stable, l’installation du plugin se passe bien, par contre quand je veux créer un message j’ai une page vide (pas blanche), aucun formulaire ne s’affiche me permettant de généré un message, est-ce un bug ?
De plus, comment éditer le message àenvoyer même de manière automatique ou bien il se sert du squelettes nouveautes ??
Merci.
# Le 9 août à 14:21, par bol2ry
J’ai le même problème (une page blanche) quand je veux créer un message.
Un autre truc me chiffonne, comment déclare t’on que pour telle newsletter, ce sont tels articles qui sont concernés ???
Merci
# Le 13 août à 15:15, par michel
Bonjour,
j’ai semble t il le même problème, je débute sous spip 2.1.0 et sous eva-web 4.1, et je ne trouve pas comment envoyer ma première lettre.
J’ai également parcouru le web, mais je ne trouve pas de solution.
merci d’avance !
Répondre à ce message
# Le 5 août à 17:59, par Sambbou
Bonjour,
Je suis nouveau sous SPIP. J’arrive à peu près à m’habituer à la logique, mais il y a un truc que j’essaye de faire depuis plusieurs jours et je n’y arrive vraiment pas, même en ayant parcouru le net dans tous les sens. J’aimerais tout simplement savoir où intégrer la balise #FORMULAIRE_CLEVERMAIL.pour qu’elle apparaisse dans une rubrique.
J’utilise le squelette multiflex et je n’arrive pas à savoir dans quel fichier l’inclure... ET j’aurais aussi voulu savoir s’il était possible de l’intégrer directement dans un artile. Là aussi, impossible de savoir où sont stockés les fichiers de "base", dans lesquels sont inscrits les textes des articles.
Bref, il y a quelque chose que je n’arrive pas à piger sur SPIP par rapport à du bête code html (eh oui, ma dernière expérience de webmaster remonte un peu ;).
Je m’excuse par avance pour le niveau basique de ma question, mais c’est la dernière chose qui me reste à gérer avant le lancement de mon site.
Merci beaucoup
Répondre à ce message
# Le 2 juin à 10:41, par Thierry Javelle
Bonjour,
J’ai installé le plugin clevrmail sur un spip 2.010.
L’installation c’est bien déroulé, lorsque je m’inscrit à la news sur le site, je reçoit un message de confirmation, puis lorsque que je valide j’arrive sur la page validation d’une opération, donc tout à l’air ok, mais l’adresse ne s’enregistre pas dans la base.
Merci pour votre aide
# Le 3 juin à 08:08, par Thierry J
Bonjour,
J’ai creusé un peu, en fait lorsque je clique sur le lien de validation reçu par email, le fichier clervermail_do est appelé et exécute le fichier clermail_validation.php.
C’est ici que ça coince car le test if (isset($_GET[’id’]) && $_GET[’id’] != ’’) .... retoune toujours une chaine vide.
J’ai donc toujours besoin d’aide
@suivre
# Le 4 juin à 08:14, par Thierry J
Du nouveau,
dans le lien généré pour l’émail de confirmation il y a le & qui est remplacé par son équivalent html, si je remplace le code html par & tout rentre dans l’ordre
C’est trés étrange car j’ai un autre site qui tourne sur la même config (spip2.010 et le même clermail)
et sur celui ci, le lien généré est
http://thiers-mutualite.fr/spip.php...
Seul différence l’hebergement, celui qui fonctionne et sur un OVH pro et celui qui ne fonctionne pas OVH 60gp.
Je n’ai plus trop d’idées, merci de votre aide...
Répondre à ce message
# Le 31 mai à 17:39, par Manu
Problème gmail
Encore moi ! J’ai à présent des soucis avec les lettres envoyées vers les boites xxx@gmail qui sont interprétés comme des spams ! Quelqu’un a-t-il déjà été confronté à ce soucis ?
# Le 31 mai à 18:00, par Manu
Oupsss ! J’ai appuyé un peu vite sur confirmer l’envoi. Je voulais également savoir où étaient les logs des envois faits par clevermail ? J’ai parcouru /tmp mais j’ai du passer à côté car je n’ai réussi à mettre la main dessus !
Répondre à ce message
# Le 31 mai à 10:37, par Manu
Désabonnement
Dans le backoffice de clevermail, quand on choisit de désabonner un abonné, celui-c- reste présent en base mais son adresse mail est modifiée en qqchose du style blablabla@example.com.
C’est un peu brutal et dommage parce que si on souhaite le réabonner (après tout, on peut changer d’avis, non ?), eh bien on n’a plus son adresse. Supprimer le lien lst_id <->sub_id de la table cm_list_subscribers n’aurait-il pas été suffisant tout en permettant un retour en arrière facile ?
# Le 31 mai à 11:21, par Nicolas Hoizey
Le traitement des désabonnements est le même que ce soit l’abonné qui se désinscrive, ou un administrateur qui le fait. Si l’abonné veut se désinscrire, nous n’avons pas le droit de garder son adresse.
Répondre à ce message
# Le 28 mai à 09:09, par filnug
Bonjour,
- Peux-t-on facilement faire une boucle qui liste les archives de la newletter ?
- Est-ce qu’il y a des balises permettant, par exemple, d’afficher la date d’émission d’une newletter dans un squelette ?
Merci
# Le 28 mai à 10:28, par Nicolas Hoizey
Pour lister les archives, je crois que tu peux regarder comment c’est fait dans les squelettes de Soyez Créateurs, de Jacques Pyrat. Cela mériterait effectivement une page déjà faite par défaut dans le plugin.
La date d’émission, c’est la date du jour, non ?
# Le 28 mai à 10:46, par filnug
oui, je pensais bien à la date d’émission de la newsletter
# Le 28 mai à 11:10, par Nicolas Hoizey
Donc il faut utiliser une balise SPIP de base, qu’est-ce qu’il y a de spécifique dans CleverMail à ce sujet ?
Répondre à ce message
# Le 27 mai à 17:19, par filnug
question toute bete, est que ce plugin est compatible avec spip 2.1 ?
Merci !
# Le 27 mai à 17:25, par Nicolas Hoizey
Oui, oui !
# Le 27 mai à 17:31, par filnug
merci, merci
Répondre à ce message
# Le 22 mai à 15:15, par Manu
Fichier clevermail_lists introuvable
Un peu de fil à retordre avec ce plugin : installation toute neuve de SPIP 2.1.0 puis clevermail 2.5.0. Tentative de création d’une liste est j’ai le message d’erreur : Fichier clevermail_lists introuvable. J’ai désinstallé, réinstallé... Rien n’y fait : impossible de créer une luiste !
J’ai zappé qqchose ?
# Le 22 mai à 23:28, par Nicolas Hoizey
Oups, j’avais oublié de commiter un nouveau fichier, ça devrait mieux marcher maintenant, désolé.
Répondre à ce message
# Le 31 mars à 22:50, par tin_nqn
First of all, thanks for your intererst in help us
I’ve done a special install of SPIP 2.08 which is the minimum version compatible with the plugin. (my previous attempt was with spip 2.10 and you can see that the "new letter" button is broken)
With version 2.08 installed locally I have exactly the same problem than Yannick, it means, I see the button "new letter" but it doesn’t nothing.
I’ll try to answer your questions
Yes it does. It’s a clean installation with empty data and just spip-bonux and facteur installed (these are requeriments)
Nop, aren’t. Tables spip_cm_posts* are still empty after clicking "new letter button"
In fact, I’ve checked with Firebug and there is no response to the POST message of submit button.
There is nothing indicating the function clevermail_post_create() had been ran. I put some extra spip_log() messages at the beginning of this function and nothing appears. Also at the beggining of action_clevermail_post_create_dist() and neither is any message in the log.
Like I said, only the necessary plugins are activated.
Why ? I’m running multiples spips without problems and this bug happen in at least 3 servers that I check, and in my local ubuntu.
thanks
Martin
# Le 1er avril à 17:03, par Yannick
Y a t-il des développements ?
Merci et bonne journée.
# Le 10 mai à 00:17, par Antony
Probléme du bouton nouveau message qui ne marche pas :’s (spip 2.0.10)
Je pense avoir trouvé la cause mais j’ai pas cherché la solution :
apres installation du plugin, lorsque je clique sur le bouton nouveau message cela fonctionne or si je clique une deuxieme fois sur le bouton nouveau message le meme jour ou le lendemain rien ne se passe :’(
Par contre si je crée un nouvel article sur mon site et qu’ensuite je clique sur nouveau message la ca fonctionne :)
Il doit y avoir dans le code une verification si il y a des nouveautes qui ont ete ajoute " bouton OK" sinon "bouton HS".
PS : J’ai ete mis sur la piste par le message "impossible, contenu vide" dans le fichier log
Si quelqu’un a la solution pour que le bouton nouveau message fonctionne tout le temps avec ou sens nouveau message.
Merci
# Le 10 mai à 10:14, par Antony
Probléme résolu !!! :)
inc/clevermail_post_create.php
if (trim($post['pst_html']) != '' && trim($post['pst_text']) != '') {//if (eregi("<title>(.*)</title>", $post['pst_html'], $regs)) {
if (preg_match(",<title>(.*)</title>,", $post['pst_html'], $regs)) {
$post['pst_subject'] = trim($regs[1]);
} else {
$post['pst_subject'] = 'Aucun sujet';
}
$pst_id = sql_insertq("spip_cm_posts", $post);
spip_log('Création du message « '.$post['pst_subject'].' » (id='.$pst_id.') dans la liste « '.$list['lst_name'].' » (id='.$lst_id.')', 'clevermail');
return $pst_id;
} else {
spip_log('Création d\'un message dans la liste « '.$list['lst_name'].' » (id='.$lst_id.') impossible, contenu vide à '.$url_html.' et '.$url_text, 'clevermail');
return false;
}
Par
//if (eregi("<title>(.*)</title>", $post['pst_html'], $regs)) {
if (preg_match(",<title>(.*)</title>,", $post['pst_html'], $regs)) {
$post['pst_subject'] = trim($regs[1]);
} else {
$post['pst_subject'] = 'Nouvelle Newsletter';
}
$pst_id = sql_insertq("spip_cm_posts", $post);
spip_log('Création du message « '.$post['pst_subject'].' » (id='.$pst_id.') dans la liste « '.$list['lst_name'].' » (id='.$lst_id.')', 'clevermail');
return $pst_id;
spip_log('Création d\'un message dans la liste « '.$list['lst_name'].' » (id='.$lst_id.') impossible, contenu vide à '.$url_html.' et '.$url_text, 'clevermail');
return false;
# Le 10 mai à 10:27, par Nicolas Hoizey
« It’s not a bug, it’s a feature » comme on dit... tu casses le fonctionnement de base de CleverMail, là.
C’est normal que tu ne puisses pas créer de nouveau message s’il n’y a pas de nouveau contenu, en tout cas avec les squelettes par défaut.
Si tu veux envoyer plusieurs fois le même contenu, tu fais tes propres squelettes, dans lesquels tu ne tiens pas compte de la date du message précédent.
Tout simplement.
Répondre à ce message