SPIP-Listes-Cleaner est un plugin qui permet de nettoyer la base de donnée de SPIP-Listes en supprimant les emails non valide des mailing listes.
Il se connecte sur un compte pop ou imap et récupère les « failure delivery email », identifie l’email du destinataire et le supprime de la table spip_auteur_liste ainsi que de la table spip_auteur si il est en statut ’6forum’.
NÉCESSITE :
- un hébergement avec php-imap d’activé.
- le plugin CFG
- le plugin SPIP-Listes
- SPIP supérieur à 2.0.0
Le plugin peut être utilisé soit par SPIP-CRON (toutes les heures) soit par l’appel de la fonction action : spiplistescleaner (?action=spiplistescleaner).
SPIP-Listes-Cleaner is a plugin that allows you to clean the database SPIP-Listes removing invalid email mailing lists.
It connects to a POP or IMAP account and gets the « mail delivery failure », identifies the recipient’s email and removes it from spip_auteur_liste table and from spip_auteur table if it is status ’forum6’.
REQUIRES :
- Hosting with the php-imap enabled.
- CFG plugin
- SPIP-Listes plugin
- SPIP 2.0.0 or above
The plugin can be used by SPIP-CRON (called every hours) or by calling the function action : spiplistescleaner (?action=spiplistescleaner).
- TRAC : https://zone.spip.org/trac/spip-zone/browser/_plugins_/spip-listes-cleaner
- SVN : svn ://zone.spip.org/spip-zone/_plugins_/spip-listes-cleaner
Discussions par date d’activité
14 discussions
Bonjour,
Ce plugin me paraît partir d’une excellente idée, mais comme il a déjà fait la remarque, un peu dangereux.
Vu les divers problèmes évoqués dans ce forum, quelqu’un l’a-t-il récemment expérimenté ?
Les versions ont-elles évolué suite aux remarques ?
N’y a-t-il pas moyen de le changer un peu, en ne supprimant pas les mails dans les bases mais, par exemple :
- en modifiant l’auteur en « à la poubelle », qui ne le supprime pas de la base mais lui met simplement le statut poubelle,
- en envoyant un mail à l’expéditeur (que l’on renseigne dans SPIP listes), pour lui indiquer qu’il y a un problème avec tel ou tel mail. Au moins qu’il y a un problème, et le nec plus ultra sera de renvoyer le quel.
Le dépannage du patron transformé est bien, mais quand on n’utilise pas de patron mais qu’on met un texte tel que ?
Merci pour votre aide et le travail que vous donnez à la communauté :)
Je ne suis pas sur que ce plugin soit toujours pertinent à utiliser. Vérifier les dates des dernières versions ... D’autres plugins ont été développés depuis.
Maintenant, si Pierre viens me contredire en réaffirmant l’actualité du développement de ce plugin, je m’incline et lui présente mes excuses.
Répondre à ce message
Bonjour,
J’ai testé ce plugin sur mon site création entreprise qio est toujours en version 1.8.2 car mon hébergeur OVH refuse l’envoi de mes newsletter car mes adresses abonnés sont erronées à plus de 5%. Or après balayage par ce plugin, le résultat reste le même. Quelqu’un aurait une idée de l’origine du problème ?
Merci d’avance.
Utiliser une solution de contournement.http://www.spip-contrib.net/SPIP-Li...
M... Je peux pas rééditer mon message précédent
le lien :
http://www.spip-contrib.net/SPIP-Listes-Cleaner#forum433870
Bonjour,
Info pour ceux dont les + de 5% d’erreurs ont été bloqués par OVH,
la méthode à suivre est la suivante :
- dans votre compte OVH, partie Hébergement
- dans "autres services" choisir "suivi emails automatisés"
- suivant votre situation => "débloquer l’envoi des mails" et/ou "purger les messages"
votre situation devient :
« État du compte
Statut : Envois acceptés »
Cordialement, Alain
Répondre à ce message
Bonjour,
J’ai le message suivant :
"Certificate failure for mail.monnomdedomaine.fr : self signed certificate : /C=US/ST=Virginia/L=Herndon/O=Parallels/OU=Plesk/CN=plesk/emailAddress=info@plesk.com
Et je n’utilise pas ssl ..
Merci de m’aider si vous le pouvez (et si vous le voulez)
Répondre à ce message
Voilà un plugin qui est très prometteur, et qui l’énorme avantage d’exister.
Effectivement, s’il a trop de faux positifs c’est une catastrophe (qui a envie de perdre des clients qui existent réellement ?), mais d’expérience c’est inévitable, dès que l’on veut automatiser et vue la variabilité des réponses des serveurs.
Pour la question que tout le monde se pose : Quels sont les mails qui provoquent la suppression d’un mail ?
J’ai jeté un coup d’oeil sur le code (qui est très propre au passage, merci pour la lisibilité), et il semble que tout ce passe là :
Ce petit test sur le header va permettre de récupérer les emails qui vont servir de base à la suprression.
Ensuite l’algo s’organise comme suit :
- récupération de l’adresse email
- récupération de l’utilisateur SPIP correspondant à cette adresse
- suppression de la table auteur_liste
- suppression de la table auteur_elargis.
Selon lecritere $config[’option_delete_row’]
- soit on élimine l’auteur de la base (spip_auteur)
- soit on bascule l’auteur en statut 5poubelle s’il est en statut 6forum
En conclusion
Effectivement j’ai bien peur que ce plugin ne dégage TOUS les retours que ce soit des soft ou des hard bounce, c’est à dire aussi bien les adresse inexistantes que des quota dépassé ou des indications de spam ou des absences pour congé.
Donc en l’état il me parait dangereux. Mais comme j’en ai besoin (et qu’il est en GPL), je vais devoir le modifier, si ça tente quelqu’un de m’accompagner.
Par contre, est ce que quelqu’un aurait une bonne culture de la gestion des soft/hard bounce mail dans l’assemblée ? La mienne date un peu...
Merci de vouloir te pencher sur l’amélioration de ce plugin, inutilisable en l’état.
voir la solution que j’ai adapté :
http://www.spip-contrib.net/SPIP-Listes-Cleaner#forum433870
Pour répondre à ta question (de mémoire) :
Mailman met des points en cas de retour de courriel avec erreur : 1 point pour erreur définitive et 0.5 pour des erreurs temporaires. Lorsqu’un correspondant arrive à un certain nombre de points (configurable) il peut être suspendu ou supprimé de la base. Au bout d’un certain temps (configurable) sans retour en erreur, le nombre de points d’un correspondant est remis à zéro (parce qu’il a recommencé à ouvrir ces courriels après les vacances par exemple). Il me semble qu’il y a encore un autre paramètre de configuration qui échappe présentement à ma mémoire.
Proposition :
Au moins dans un premier temps ou en option, rendre tout ceci manuel.
Enregistrer les retours en erreurs dans une table en attribuant des points celon la cause
Faire une page qui affiche la liste des « auteurs » ayant des points de retour d’erreur, permettre de consulter les enregistrements indiquant la cause de chaque et donner un lien rapide vers les différentes actions à envisager (suppression de la table, mise de l’auteur à la poubelle, désinscription des listes de diffusion, intervention pour corriger les courriel de l’auteur ou ses autres informations.
Il faudrait aussi que cette page permette de gérer (voir et entreprendre des actions) les auteurs qui ... /n’ont pas de format de réception/ ont tel format de réception/ n’ont pas d’inscription sur une liste/ ont tel ou tel statut ...
Avec cette page on aurais plus à gérer nos retours d’erreurs après chaque envoi sur la liste et nos actions manuelles seraient faciles à décider et à faire.
Pour automatiser cela il pourrait être programmable que telle action
(annulation du format de l’envoi, désinscription des listes, mise de l’auteur à la poubelle ou suppression de la base [ au choix]) soie entreprise automatiquement à l’atteinte d’un certain nombre de points (en dedans d’une certaine période, paramétrable aussi).
J’espère que ma proposition est claire et raisonnablement facile à coder (pas pour moi en tout cas). Questions acceptée ici ou en privé.
Encore merci aux codeurs qui mettent tout cela en ordre de fonctionnement et vive la GPL qui permet ces enrichissements ;-)
Répondre à ce message
Bonjour,
je déconseil l’installation de ce plugin, il désactive beaucoup trop de souscriptions de newsletter. A mon avis il ne rempli pas bien sa tâche.
joz
Bonjour
Apparemment, l’auteur de ce plugin ne répond plus ?
Et il n’y aurait aucune documentation sur les spécifications ?
Comme beaucoup d’autres, je me pose des questions :
- Ce plugin ne va t’il pas supprimer des inscrits partis en vacances ?
- ou qui n’ont pas eu le temps de vider leur BAL ?
- ou dont le serveur de messagerie est temporairement HS ?
Un utilisateur de ce plugin pourrait-il fournir ces quelques infos ?
Au début du plugin j’avais contacté l’auteur parceque je n’arrivais pas à le faire fonctionner.
Il semble qu’il aie développé cela pour un besoin spécifique sans faire un système de gestion des rebonds sophistiqué comme mailman par exemple. Le risque de désinscription excessivement massive est don bien réel, vous êtes prévenus.
Solution perso :
J’ai introduit le code suivant dans le squelette du patron de spiplistes :
Quand un serveur me renvoie un message d’erreur en renvoyant une copie du message (cas général) cela me donne un lien discret vers la page de gestion de l’inscrit concerné.
Toute autre idée ou approche bienvenue ;-)
Bonjour livier
Merci pour cette astuce. C’est pas automatique mais simple et efficace.
Je ne comprends pas comment fonctionne : _AUTEUR_ID_AUTEUR_
C’est une balise propre au patron ?
Moi, j’ai mis :
Les patrons de spip-listes ont une syntaxe particulière pour certaines variables
_AUTEUR_ID_AUTEUR_ est une inspirée de ce que j’ai vu dans les patrons de spip-listes ... cela semble adapté à la situation car cela marche ;-)
As tu testé et confirmé le fonctionnement ce que tu as mis toi même ?
J’ai testé ta solution avec _AUTEUR_ID_AUTEUR_ et cela n’a pas marché.
Ma solution semble fonctionner. Mais je n’en suis pas sûr à 100%.
Je confirmerai dans quelques jours après l’envoi de ma lettre d’infos.
Répondre à ce message
bonjour
avec spip 2.1 et Zpip, ça ne fonctionne pas, j’indique un imap à gmail sur lequel je reçois les messages d’erreur
le plugin (avec ?action...) mouline 3 jours puis rien...
merci
Répondre à ce message
Bonjour,
J’ai bien installé le plug, paramétré avec CFG, mais comment je fais pour lancer l’opération de nettoyage ?
J’ai cherché des infos sur SPIP CRON, mais que dois-je faire avec cette balise, ou comment faire pour lancer la fonction spiplistescleaner (?action=spiplistescleaner).
merci de votre aide
Répondre à ce message
Bonjour,
j’ai installé votre plugin, mais malheureusement je recois un erreur :
TLS/SSL failure for pop.monserveur.com : SSL negotiation failed
j’ai configuré dans cfg comme dans mon thunderbird (où l’adresse fonctionne), avec
Securité : none
Option de sécurité : no valdate certificat
Est-ce que vous savez pourquoi je recois cet erreur ? Puisque je n’employe pas TLS ni SSL ..
Des idées qu’est-ce qui coince ?
Merci pour vos lumières
joz
Répondre à ce message
Bonjour,
avant d’installer ce plugin je voudrais bien savoir comment le Listes-Cleaner traite les réponses automatiques genre « je ne reçois pas votre message car je suis abtent du bureau pour 2 semaines ». Est ce que Listes-Cleaner distinge ce genre de réponse d’un réponse « failure notice » ou « Delivery Status Notification (Failure) » ?
Je ne veux pas risque que mes abonnés ne peuvent pas partir tranquillement en vacances sans risquer d’être irradié de la mailing liste ;-)
merci pour l’éclaircissement
joz
Répondre à ce message
Voilà tu es co-auteur de l’article, c’est avec grand plaisir que j’accepte ton aide. Par contre étant donné que j’ai développé ce plugin pour une boite Australienne dans laquelle je travail actuellement, il est important d’essayer d’avoir une copie exacte de la doc en Anglais (j’espère que cela n’est pas trop une grosse contrainte pour toi).
=> Peu être un bug ? Je n’ai eu aucun problèmes de mon coté.
=> Je ne vois aucune solution viable à intégrer dans le plugin pour éviter cela. La 1re solution comme tu l’as dit est de faire un compte rebond dédié à cela. La deuxième est de paramétrer le client pop pour qu’il laisse les mails sur le serveur en attendant qu’ils soient supprimé sur le client (option disponible dans thunderbird par exemple).
=> dans les deux méthodes les tables spip_auteurs_listes et spip_auteurs_elargis sont nettoyé, la seul différence est dans spip_auteurs où les enregistrements ne sont pas supprimé mais marqué « 5poubelle » en statu.
=> Le nettoyage de la table spip_auteurs_elargis supprime bêtement les enregistrements lié a l’id d’un auteur. Mais j’ai peur de ne pas avoir compris ta question.
=> Que penses tu si je rajoute une option avec le nombre de bounces mail minimum reçu avant de supprimer l’auteur ?
=> Le plugin est sensé écrire dans les logs de spip mais j’ai remarqué que cela ne fonctionnait que quand SPIP-Listes-Cleaner est appelé par le CRON. Comment vois-tu l’implémentation de cette fonctionnalité ? Écrire le résultat de chaque étapes en html lors de l’appel de la fonction action serrait-elle suffisante ? Je n’ai malheureusement pas beaucoup de temps pour écrire de la documentation, je surf sur plein de projet en même temps, mais je reste ouvert à toutes évolutions.
Réponse rapide pour te permettre d’avancer, je n’aurai pas plus de temps avant la semaine prochaine.
1.2 SVN [28993] = version maintenant installée automatiquement.
Dans la page / ?exec=cfg&cfg=spiplistescleaner
je ne vois pas les nouvelles options.
Oui, il faut bien faire attention et configurer très bien au niveau du serveur de courriel pour que ça marche. >> mode d’emploi à rédiger.
Y a t’il une possibilité de supprimer tous les auteurs absents de la table spip_auteurs et encore présents dans spip_auteurs_élargis ?
C,est peut être pas mal de boulot, mais si on pouvait déclencher manuellement ton plugin puis suivre les étapes de son foctionnement, cela aiderais à le comprendre et à débugger des config qui dépendent de la config plugin/serveur. Idéalement on pourrait voir :
- l’établissement de la connexion avec le serveur
- les courriels qu’il y trouve
- ceux qu’il identifie comme étant à traiter
- l’action qu’il propose d’entreprendre ...
- la validation de ces actions pourrait être manuelle en période de test, automatisée ensuite.
ce suivi serait bien placé dans les pages de gestion du plugin.
Chaque bounce identifié pourrait donner des points, (idéalement plus de points si l’adresse est inconnue du serveur que la boite pleine). Si un courriel arrive avant ce maximum atteint, réduction ou remise à zéro des points. A un certain nombre de points, adresse supprimée ou mise à la corbeille (avec idication de la date et de la cause de la mise au panier).
Il manque plus qu’une bonne page de suivi des auteurs pour identifier les auteurs bannis, donner la possibilité de les récupérer ou de les jetter, vérifier ceux qui ont des points de bannissement ....
Mais j’imagines que c’est plus facile à demander qu’a programmer
Je te reviens la semaine prochaine
Merci pour le boulot
pour la cohérence entre auteurs et auteurs_élargis, problème que j’ai rencontré aussi...
je ne suis pas un pro de sql, mais un truc du genre
delete * from spip_auteurs where not in (select * from
spipcont
.spip_auteurs_élargis where...)devrait marcher...
c’est ce que j’ai fait une fois, mais je ne suis pas sûr de la syntaxe exacte...
pam
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 :
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.
Suivre les commentaires : |