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,
Certain de nos destinataires de news nous disent avoir un courriel avec un fond noir qui le rends inexploitable.
Je pré-suppose que c’est sur des tablettes mais je n’ai pas eu de confirmation.
D’autres utilisateur de ce très bon plugin ont-ils les mêmes ’défauts’ et si oui quel remède ?
Merci bien Alain BOURDEAU
Bonjour
Le mail est envoyez par le serveur, tu as quel version mailman dessus ?
Bonjour,
La réception qui ’foire’ est sur un PC sous windows7 et explorer 9.
Aprés réalistion du message sous spip 3.0.5 et le plugin Version :
1.1.2 SVN [65516]
Répertoire :
plugins/auto/abomailmans/v1.1.2
il est envoyé sur une liste de diffusion hébergée chez ouvaton et la transmission passe par un phpmailer 5.1.
Comment trouver la version du mailman du site ?
Merci bien
Répondre à ce message
Bonjour,
merci pour le plugin, il a l’air de bien fonctionner.
J’ai des petits questions :
1/ Une question pour mon template : comment ajouter le lien pour le désabonnement ?
2/ A quoi sert la configuration « État de la liste :Active/Désactivée » ? Dans les deux cas la liste apparait dans le choix pour un envoi qui se déroule sans problème, aussi pour une liste désactivé.
3/ Est-ce qu’il serai possible de garder une version html du mailing, pour pouvoir proposer que les gens aillent voir en ligne en cas de problème d’affichage ? (bon, je présume que non, mais je voulais quand même demander.. )
merci d’avance
joz
Hello
1/ : Tu peux rajouter une ligne de ce type en bas de ton template :
Si vous désirez vous désabonner de cette newsletter, cliquez ici : [(#URL_ARTICLE{numero de ton article contenant le formulaire d'inscription}|url_absolue)]
2/ : Si tu désactives la liste, elle n’apparait plus dans l’espace public
3/ : Oui, j’aimerais bien aussi... Dans une future, mais pas trop, version
merci pour la réponse rapide !
pour la désinscription : comme je met un « email de désabonnement » (maliste-unsubscribe@mondns.org) dans la configuration de ma liste, je m’étais demandée si je peux récupérter cette adresse dans mon template.
Je préfèrerai pouvoir proposer la déinscription par mail au lieu de renvoyer les gens sur le site pour remplir le formulaire..
joz
Répondre à ce message
Dans la page de gestion d’une liste (pour envoi automatique), je ne trouve pas le champ de formulaire pour lister les articles de la rubrique ou les articles du mot clef ...
par contre il y a un champ « paramètres » dont je ne connais pas l’utilité ...
Y a t’il une syntaxe à mettre dans « paramètre » pour programmer rubrique et mot clef ?
Un autre moyen à utiliser (toucher le squelette, toujours possible !)
Une autre utilité pour ce champ « paramètres » ?
SPIP 2.1.16 [19678]
Abonnement à des listes de diffusion 0.7.7 - stable
Hello
Les paramètres sont envoyés au squelette... Donc normalement si tu indiques id_rubrique=5, la boucle du template nouveautes.html doit renvoyer les articles de la rubrique 5... A tester
Répondre à ce message
Bonjour,
Ce plugin semble très intéressant. Malheureusement une erreur s’affiche lorsque l’on souhaite s’inscrire quelque soit le formulaire utilisé :
Est-ce normal ?
SPIP 3.0.2
Installation des plugins auto
Hello
Facteur embarque avec lui la classe phpMailer (dans plugins/auto/facteur/phpmailer-php5). Mais tu en as une autre dans /lib/phpMailer qui vient d’où ? Un autre plugin ? Y’a une incompatibilité...
OK je comprend.
Je pense que thelia installe la librairie.
Le problème est que je ne peux pas modifier le plugin facteur vers la librairie. C’est dommage.
Olivier
Pose la question sur la liste spip ou spip-zone pour voir...
Répondre à ce message
Bonjour,
Super plugin, que j’utilise en version 0.7.7 avec Spip 2.1.13 et Facteur 1.8.9
Il faut pour mon serveur la syntaxe particulière d’Ezmlm :
maliste-subscribe-lemail=ledomaine.tld@monsite.tld
D’après ce que j’ai vu dans le fichier /plugins/abomailmans_2_0/inc/abomailmans.php
ligne 68, que cette syntaxe est adoptée si la constante suivante est définie :
if (defined(’_ABOMAILMAN_ROBOT_EZMLM’) && ...
Curieusement, je ne trouve nulle ailleurs constante _ABOMAILMAN_ROBOT_EZMLM !?
Alors effectivement, elle semble ne jamais être définie, et la syntaxe qu’il me faut n’est jamais adoptée... j’ai remplacé _ABOMAILMAN_ROBOT_EZMLM par true... ça marche mais bon, peut-être que quelque m’échappe ?!...
Peut-être aussi que ce n’est plus le cas avec Spip 3 et la version du plugin qui va bien...
++
Hello
Je n’ai pas eu le temps de mettre la doc à jour. Effectivement il faut que tu rajoutes dans ton fichier config/mes_options.php :
Génial, merci beaucoup pour cette réponse rapide.
Répondre à ce message
toujours pas de trace pour ezmlm chez OVH mutualisé ?
dans le code abomailmans.php :
c’est pas louche pour obtenir un resultat comme ça :
maliste-subscribe-lemail=ledomaine.tld@monsite.tld
merci
Hello
Désolé pour le retard. En fait chez OVH, on ne peux pas utiliser la fonction mail de php pour s’inscrire à une liste, car OVH rajoute le return_path : Bounce.... Faut obligatoirement passer par le smtp.
Moi je crée une adresse smtp@mondomaine.tld dans le manager.
Puis je configure Facteur :
Et là ça fonctionne, je viens de retester
PS : Abomailman est actuellement noté comme stable en Spip3, mais c’est une erreur je pense. Y’a pas mal de trucs dans le privé qui ne fonctionnent pas correctement
ok, super, j’ai essayé hier le smtp, mais ça n’a pas marché, je n’avais pas mis vos paramètres. je vais re essayer. Merci bcp.
et bonne suite. je vous tiendrais au jus.
si je rempli le champ return path par webmaster@monsite, et bien en fait il demande l’abonnement de l’adresse webmaster@monsite à la liste et non de l’adresse de la personne.
et si je ne remplie pas ce champ, il envoi la demande de confirmation à la personne qui souhaite s’inscrire ET au gestionnaire de la liste en même temps.
je ne pense pas que la personne devrait recevoir cette demande, mais uniquement le gestionnaire de liste.
cela dit, déjà, c’est fonctionnel. Merci
Le fonctionnement que tu décris dépend du paramétrage de la liste chez OVH, pas de ce plugin. Abomailman ne fait qu’envoyer un mail à infos-sc.unchiffre.blabla-abdel.malik=free.fr@f-c-p.org
Ensuite c’est ezmlm qui dispatche suivant le type de liste
Répondre à ce message
Bonjour
Dans slip 3, le formulaire apparaît, il nous dit qu’une demande vient d’être envoyée mais côté administration des listes (chez OVH) il ne se passe rien. Pas de nouvel abonné, pas d’envoi d’émail à l’administrateur.
Merci
je me réponds à moi même :
configuré dans facteur le destinataire.
MAIS effectivement, il n’y a pas d’interaction avec ma liste chez OVH.
ça envoi un mail à l’administrateur de la liste, comme un message, qui dit que un telveut s’abonner à telle liste.
je pense qu’il faut l’ajout du return-path que je ne sais pas faire, dans le fichier envoyer_mail.php de facteur
Hello
Tu as bien renseigné les 2 premiers champs, genre :
- newsletter@mondomaine.net
- newsletter-subscribe@mondomaine.net
- newsletter-unsubscribe@mondomaine.net
Et laissé vide le 4e ?
Je viens de ré-installer mon ordi, donc je n’ai plus de spip3 sous la main... Mais je regarde dans la semaine, sinon
oui, tout à fait.
les 3 champs comme ça et le 4è vide
oui, tout à fait renseigné comme précisé.
merci
Répondre à ce message
Bonsoir,
Merci pour cette contribution qui est très réussie.
J’ai installé la dernière version 0.7.4 sur spip 2.1.12 et ça marche très bien.
Par contre le sujet du courriel ne s’affiche pas dans le corps de la newsletter.
Curieusement il s’affiche dans l’aperçu mais pas dans le courriel une fois reçu.
Tout le reste fonctionne.
J’ai essayé avec les templates nouveautes, nouveautes2 et un template customisé et aucun n’affiche le sujet. Le code de la page html montre que la chaîne n’est pas présente.
Auriez-vous une idée ? Ca le fait aussi chez vous ?
Les plugins installés sont Facteur 1.8.5 et SPIP Bonux 2.3.0.
Merci de votre réponse.
Thierry
Hello
Il y avait une erreur. C’est corrigé :
http://zone.spip.org/trac/spip-zone/changeset/60130
Super ça marche, le sujet apparaît !
Merci pour cette réponse et cette correction rapide.
Répondre à ce message
Je suis en train de réfléchir à la mise en place de listes de diffusion sur un site. À priori, il y aurait 5 ou 6 listes et un volume de 750adresses environ, chacune pouvant appartenir à une ou plusieurs listes.
En faisant un peu le tour des solutions existantes, j’avoue ne pas avoir les idées très claires sur la voie à retenir : s’appuyer sur un outil comme SPIP-Liste ou s’appuyer sur un outil comme Mailman que mon hébergeur met à disposition.
Quelqu’un pourrait-il dire quels sont les avantages et les limites de l’une ou l’autre des solutions : un système intégré à SPIP ? Un système délégué à un outil extérieur ?
Merci d’avance....
Hello
Je pense que tu devrais poster ta question sur la liste spip-zone
A+
Ah ! cette liste spip-zone je ne connais pas... Je connais spip-user (j’avais effectivement hésité à y poster ma question) et spip-dev (qui n’est pas destinée à ce genre de question), mais spip-zone, c’est où et c’est « fait » pour quoi ?
http://listes.rezo.net/mailman/listinfo/spip-zone
C’est surtout pour discuter des plugins et de leurs développements. Effectivement spip-user est plus adapté
Répondre à ce message
Bonjour,
Comment utiliser la version simplifiée (une liste) du formulaire d’abonnement ?
#FORMULAIRE_ABOMAILMAN_MINI_UNE_LISTE n’affiche rien… Comment insérer ce formaulaire dans mes squelettes ?
Merci
Hello
Il faut fournir l’id de la liste à la balise :
#FORMULAIRE_ABOMAILMAN_MINI_UNE_LISTE{1}
par exempleJe viens de faire une modif pour qu’un message d’erreur s’affiche si l’id de la liste n’est pas fourni
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 : |