Principe
Mailman est un outil puissant de mailing liste http://www.gnu.org/software/mailman/. Il peut gérer plusieurs centaines, voir plusieurs milliers d’adresses e-mail, pour une seule liste de diffusion/ discussion. Il manquait à ma connaissance un plugin permettant de l’interfacer avec SPIP, voilà la chose faite.
Une partie de ce plugin est inspirée par le plugin Spip-Listes. Contrairement à ce plugin, Abomailmans laisse la gestion des abonnements, des désabonnements, l’envoi et l’échange d’e-mails à Mailman.
Ce plugin permet via une balise #FORMULAIRE_ABOMAILMAN
d’afficher un formulaire d’abonnement à l’ensemble des listes renseignées Mailman. Cette inscription se fait via l’interface privée de SPIP par le menu « Edition > Abomailmans > les listes de diffusions mailman » Ensuite il vous est possible de sélectionner des articles de votre SPIP, par des critères de date, de rubrique et/ou de mot clé et envoyer leurs contenus à ces listes, en utilisant des squelettes de mise en page du contenu.
Le lien avec les listes Mailman se fait par des envois d’e-mail.
Voici comment cela se présente sur la partie publique.
Installation
Copiez le répertoire abomailmans dans votre répertoire plugins, puis installez le plugin selon la procédure habituelle, cf. http://www.spip.net/fr_article3396.html.
Le plugin nécessite les plugins Facteur (spip 2 et spip 3) et spip-bonux (Spip 2)
Placez la balise #FORMULAIRE_ABOMAILMAN
dans vos squelettes la ou vous le souhaitez.
Ajouter des listes
Cliquez sur Les listes de diffusion dans le menu « Édition » de l’espace privé
Vous obtenez la page de la gestion de vos listes
Cliquez sur « Ajouter une nouvelle liste », vous obtenez la page d’ajout d’une liste
Renseigner ces champs, veuillez vérifier que l’adresse e-mail de votre liste est bien correcte.
L’ensemble des listes que vous aurez renseignées, vont apparaître dans votre site via la balise #FORMULAIRE_ABOMAILMAN
que vous aurez placé dans vos squelettes.
Envoyer du contenu de votre SPIP aux listes
À la page de la gestion de vos listes, cliquez sur « Envoyer un e-mail aux listes à partir du contenu de ce site »
Sélectionnez le modèle de présentation d’e-mail (« nouveautés » est présent par défaut). Les modèles se retrouvent dans /(...)/abomailmans/templates/ (Cf. Personnalisation). Vous pouvez choisir de lister :
- les articles à partir d’une date via « Contenu a partir de cette date »
- et les articles d’une rubrique via « Et lister les articles de la rubrique »
- et les articles liés à un mot clé via « Et lister les articles du mot clé »
Renseignez le sujet de votre e-mail, et introduisez le contenu issu du site. Cliquez sur « Aperçu ». Ensuite choisissez la liste à laquelle vous souhaitez envoyer cet aperçu
Utilisation par l’internaute
L’internaute saisi son Nom, son Prénom et son adresse e-mail (Obligatoire, un test PHP est effectué sur ce champ), et coche les listes auxquelles il souhaite s’abonner. Ensuite il reçoit éventuellement les demandes de confirmation du gestionnaire de liste. La gestion de son abonnement s’effectuera via ce gestionnaire de liste.
Personnalisation
Vous pouvez créer plusieurs modèles d’envoi d’e-mail à vos listes en les ajoutant dans votre répertoire /(...)/squelettes/templates/.
Ce sont de simples squelettes SPIP, faites attention aux points suivants :
- ne pas placer les balises d’ouverture et de fermeture html
- mettre les styles CSS directement dans les balises pour être sur qu’ils seront interprétés (même par les webmails)
- les urls et liens images doivent être convertis en urls absolues, utilisez pour ce faire le filtre
liens_absolus
Depuis la version 0.7, il est possible de créer aussi un template pour la version texte de votre e-mail. Si votre template de base s’appelle ma_newsletter.html, la version texte devra se nommer ma_newsletter.txt.html
Abonnement à une liste particulière
Il est possible de proposer un formulaire d’inscription ciblant une liste bien précise, au moyen de la balise #FORMULAIRE_ABOMAILMAN_MINI_UNE_LISTE
Exemple d’utilisation, pour permettre l’abonnement à la liste id n°1 :
#FORMULAIRE_ABOMAILMAN_MINI_UNE_LISTE{1}
Cas particulier du gestionnaire de liste EZMLM chez OVH avec de la fonction mail() de PHP
Chez OVH, dans le cas d’envois de mails via un script PHP, le Return-path est réécrit pour pouvoir comptabiliser les erreurs via un robot (gestion des spams). Or, EZMLM se base sur ce champ plutôt que sur le From. Du coup l’abonnement est impossible.
Pour palier à ce souci, Yffic avait fait une bidouille pour que le To soit sous la forme maliste-subscribe-lemail=ledomaine.tld@monsite.tld et que l’inscription fonctionne (voir ici). Il faut donc ajouter un define à votre fichier mes_options.php.
define('_ABOMAILMAN_ROBOT_EZMLM','true');
Ce problème est peut être présent chez d’autres hébergeurs...
Détails du code
- Utilisation de Jquery (inclus dans spip 1.9.2 et +) (http://jquery.com/)
- Utilisation du plugin JQuery date picker (inclus dans ce plugin) (http://www.kelvinluck.com/assets/jq...)
- Utilisation du plugin facteur pour Spip > 2
Évolutions envisagées
- Gestion de listes privées
- Pouvoir mettre en avant une seule liste
- Modifier le destinataire d’envoi dans le cas ezmlm pour que les inscriptions fonctionnent si facteur utilise l’envoi via la fonction mail() de php. En effet dans ce cas, le header return-path n’est pas renseigné. Or c’est ce header qui est utilisé par le robot pour répondre et non le champ from... Il faudrait modifier le destinataire comme ceci maliste-subscribe-lemail=ledomaine.tld@monsite.tld
Discussions par date d’activité
42 discussions
bonjour
j’utilise la version spip 3, tout s’installe comme il le faut, seulement, l’affichage de la liste pour inscription dans la partie public avec #FORMULAIRE_ABOMAILMAN ignore le css, meme si spip-bonux 3 est activé, donc mon probleme c’est que le css dans la partie public, est ignoré ?
pouvez vous m’indiquer la cause de ce probleme.
merci
Ce plugin ne fournit pas de feuille de style... Donc tes problèmes viennent d’ailleurs... As tu une url d’exemple ?
merci pour votre reponse, je devellope un site en local, le formulaire d’abonnement est affiché dans la page d’accueil du site, est ce que le style utilisé dans l’exemple donné en haut, est a titre exemple ou il faut que le formulaire s’affiche comme dans l’exemple en haut.
Oui, c’est un exemple... A toi de créer tes css
Merci de votre aide
Répondre à ce message
Bonjour,
J’ai un petit souci : lors de l’envoi d’un e-mail ou pour definir le modele par defaut de la liste, je n’ai aucun modèle à sélectionner qui apparait
J’ai bien des modeles dans le dossier « plugins/abomailmans/templates/ » dont le modele nouveauté, avec les droits de lecture OK. Plugins activé bien sur
J’ai cherché un peu partout, je n’ai rien trouvé sur ce sujet.
Quelqu’un aurait-il une suggestion ?
Merci d’avance
Version SPIP 2.1.12
Plugins facteur 1.8.3
Abonnement 0.6.4
Hello
Je vois une boucle POUR dans le fichier prive/listes/abomailman_templates.html
As tu activé le plugin Spip-Bonux ?
Effectivement je n’ai pas installé Spip-Bonux.
Il n’est pas indiqué comme prés-rquis au plugin Abomailmans
Après l’insatllation tout va beaucoup mieux.
Merci bien et bonne année !!
OK, je l’ai rajouté dans la doc
Hello Yffic
Moi je metterais bonux en nécessite à moins que tu revois le formulaire sinon on a un message d’erreur quand on créé ou modifier un liste.
De plus je cherche une idée pour que ça créé les liste dans le cpanel quand tu la créé au plugin sinon de pouvoir géré les abonné dans le SPIP ainsi que les réglage de mailman.
OK, j’ai rajouté le necessite.
Sinon on aurais pu le garder en utilise, mais en faisant une partie avec #PLUGIN dans le formulaire.
Et pour créé les adresses dans mailman tu as une idée ?
Tu veux créer les adresses dans mailman depuis spip, c’est ça ?
Faut regarder dans ton mailman installé quelles sont les interfaces ? Depuis Sympa, c’est possible dans la dernière version qui propose une API Soap. De même ovh propose une interface soap pour ezmlm.
J’ai mis cette dernière en œuvre dans le plugin gestion_ml qui peut être étendu à d’autres gestionnaires de liste. Il permet surtout de déléguer la gestion des listes à des administrateurs spip.
Répondre à ce message
Le problème est que malgré l’apéro, je n’ai pas de connaissances qui s’y débrouille en spip.
Je m’étais déjà plongé 3 mois dedans pour le précédent site avec tous les déboires afférant, je m’y remet. En tout cas merci bcp pour tes réponses,
Nico
Répondre à ce message
Bonjour,
Je ne suis pas sûr d’avoir bien compris le fonctionnement de ce pluggin.
J’ai installé ce plugin sur mon site :
> j’ai rentré mon adresse mail en test & envoyer un message : rien de reçu (normal ?)
> je n’arrive pas à mettre une icône invitant les visiteurs à ’inscrire à la liste diffusion (comment faire ?)
Pourriez-vous m’indiquer comment parvenir à cela s.v.p. ?
Merci bcp,
Nico
NB je suis chez OVH
Hello
Si tu ne reçois rien, regarde dans les fichiers logs, tu y trouveras des indications sur l’erreur d’envoi...
Une bonne idée : installer le plugin facteur
Je ne comprends pas ta 2e question ? Tu n’arrives pas à créer un élément de menu ?
En fait je cherche :
- à avoir une icône invitant tout visiteur à s’inscrire (2e question)
- à avoir la possibilité d’envoyer les nouveautés du site.
Or il se trouve que j’utilise un squelette eva web et que je ne sais comment lui dire d’intégrer visuellement ces plugin sur la page du site .
Et ce n’est pas sans mauvaise volonté : j’y passe des heures (manuel admin spip etc. mais niveau trop abstrait pour mois).
Merci,
Nico .
Je pense que pout faire ce que tu désires, il va falloir que tu apprennes à modifier les squelettes de spip. Soit à partir des tutoriaux, soit en demandant un coup de main lors d’un apéro spip
Répondre à ce message
Si ca peut servir, ce plugin fonctionne aussi avec le robot ezmlm fourni par exemple sur les hébergements mutualisés de chez OVH.
Salut Yffic, ça serait pas mal d’ajouter l’info dans le chapeau de l’article (vu que le plugin gère aussi les listes sympas). Si tu veux je t’ajoute auteur de l’article comme ça tu pourras le compléter.
++
Bien sûr, vazy !
Et voilà c’est fait ;)
Bonjour,
je suis hébergé chez OVH, où j’ai crée une liste Ezmim. Le problème, j’ai l’impression que le serveur ne reçoit pas le mail pour l’inscription sur la liste. Si quelqu’un a une idée, je suis preneur.
D’avance merci.
Laurent
hello
Regarde dans les fichiers de log s’il y a une trace de l’envoi
Répondre à ce message
Bonjour
Comment faut-il paramétrer le formulaire pour utiliser une liste sympa ? Merci de votre aide.
Eric
Répondre à ce message
Salut,
J’avais déjà utilisé ce plugin très utile avec Spip 2.0 et avant.
Mais depuis spip 2.1.1 et 2.1.2, lors d’une tentative d’inscription sur une liste mailman j’obtiens le message d’erreur : « Erreur : à cause d’un problème technique, l’email ne peut pas être envoyé. ».
Aucune trace dans les logs apache. J’ai parcouru le code de abomailmans, du plugin facteur ...et j’ai trouvé :
dans le fichier /abomailmans_2_0/inc/abomailmans.php, ligne 55, remplacer la ligne
par la ligne
Et ça fonctionne parfaitement pour mes listes Mailman en tout cas !
Répondre à ce message
Apparemment, lors d’une mise à jour du plugin abomailmans (abomailmans_base_version = 0.2 chez moi) vers abomailmans_2_0 (version 0.4 [31783] chez moi), la table spip_abomailmans n’est pas mise à jour.
D’où le problème du formulaire de création/modification de liste qui n’enregistre aucune donnée (voir messages précédents).
Pour régler le problème sans désinstaller/réinstaller la table, il faut procéder soi-même à l’upgrade de la table avec cette commande SQL :
(Copier/coller dans phpMyAdmin, onglet « SQL », « Exécuter une requête sur la base [nom de votre base de données] »).
Pour être tout à fait perfectionniste, on peut changer la valeur de abomailmans_base_version dans spip_meta et la passer à 0.31.
Le problème se situe dans plugins/abomailmans_2_0/base/abomailmans_upgrade.php. Je vois :
et je me dis ben oui, si chez moi il y a 0.2 et pas 0.30, c’est normal qu’il n’ait rien exécuté. Mais je ne suis pas sûre de bien lire la tatouille... ?
Répondre à ce message
Bonjour
J’ai instaler le plugins ce matin mais j’ai un soucis, quand je m’inscrit sur le formulaire ça m’envoie un message vide et du coup pas d’instruction pour finir l’inscription.
Peut on avoir la solution
Bonjour
Je viens de finir un commits, pas mal de changement on été fait. reste a voir si le zip va bien passer car il a changer de nom
Le zip est sur la zone pour spip 2.0 (abomailman_2_0) merci de vos retour d’expérience pour que je puis l’amélioré .
Bonjour, sur plusieurs sites sous SPIP 2.0.9, dans l’interface privée, j’essaie en vain de créer des listes de diffusion mailman pour afficher les formulaires d’inscription, mais chaque fois que je crée une liste et que je valide, je retourne au formulaire vide. Impossible de créer ces listes. Le plugin ne fonctionne pas chez moi, sur plusieurs sites.
Les listes de diffusions antérieures fonctionnaient.
Une idée du problème ? Quelqu’un a-t-il rencontré la même problème ?
Merci.
FL
Fred
Tu as la version de quand ? par ce qu’elle à bouger hier je crois
Bonjour, merci de répondre.
J’ai trouvé la dernière version :
http://files.spip.org/spip-zone/abomailmans_2_0.zip
Je précise que tous les sites dont je m’occupe sont chez le même hébergeur. Une piste ?
A+
Bonjour,
J’obtiens la même chose avec spip2.0.9 et le zip de la zone du 24-09-2009.
Les entrées des listes (mailman) ne sont pas prises en compte dans la table spip_abomailmans. Et retour au formulaire vide.
J’ai rempli les champs suivants :
Titre de la liste, Descriptif , L’adresse e-mail de la liste, Langue de la liste et Etat de la liste.
Je n’ai pas rempli l’adresse e-mail de l’administrateur car j’ai des listes mailman.
En espérant que cela aidera.
Bien à vous,
damazone
Fred
Peux tu dire qui t’héberge ? As tu vu avec lui pour les mailing liste ?
Salut,
J ai ey le meme probleme... Les listes ne se créaient pas.
Il faut regarder du cote de la bdd via phpadmin, j avais une veille version qui devait trainer alors j ai supprimer la table spi_abomail puis supprimer la donnee relative dans spip_meta_cache.
Bonjour,
J’ai supprimé la table spip_abomailmans.
Mais je n’ai pas trouvé de référence dans la table spip_meta.
Quel champ ou quelle référence doit-on supprimer dans la table spip_meta ?
Bon, finalement, j’ai créé la table spip_abomailmans manuellement car le plugin ne l’a pas créée (peut-être à cause de la référence non supprimée).
Les listes s’enregistrent maintenant. Ouf !
Je teste plus avant...
Je peux ajouter une liste mais je n’arrive pas à modifier une liste existante.
Le formulaire s’affiche bien dans le squelette.
Etrangement, sur un autre site, chez le même hébergeur, cela semble fonctionner.
Répondre à ce message
Bonjour,
Petite question fonctionnalité : ce plugin permet-il de programmer l’envoi automatique de mail, tous les mois par exemple pour annoncer les nouveautés ? J’ai vu que la gestion des nouveautés était supportée... mais l’automatisation ?
Merci pour votre réponse.
archi02
Non à ce jour se n’est pas automatiser mais j’envisage de le faire si on me donne un coup de mains car je suis débutant en php (pour pas dir null)
Merci de tes suggestions d’amélioration.
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 : |