Retour : Page Principale > sommaire aide > sommaire aide-mémos
L'inscription fonctionne avec 2 scripts qu'il faut copier dans le dossier de la liste, et lier à qmail.
Attention il faut remplacer :
À nouveau, penser à remplacer le nom de la liste dans le chemin !
Exemple avec la liste sbco :
Note: l'expéditeur doit être modérateur de la liste.
*Inscrire plusieurs personnes à la fois*
Pour inscrire des personnes, il faut envoyer un mail à :
sbco-inscrire@tela-botanica.org
avec dans le sujet du courriel le code suivant : SB30CO
et dans le corps du message les courriels des personnes à inscrire.
Il doit y avoir un courriel par ligne avec aucun espace ou tabulation avant et après le courriel. Exemple
jpm@tela-botanica.org
alexandre@tela-botanica.org
Les lignes ne respectant pas ce formalisme ne seront pas prises en compte.
Tu recevras un mail te retournant la liste des courriels des personnes inscrites avec en fin de mail le nombre correspondant. A toi de vérifier que cela correspond bien au nombre de courriel que tu avais envoyé.
*Désinscrire tout le monde*
Pour désinscire tout le monde, il faut envoyer un mail à :
sbco-desinscrire@tela-botanica.org
avec dans le sujet du courriel le code suivant : SB30CO
le corps du message peut rester vide ou contenir ce que tu veux, cela ne sera pas pris en compte.
Tu recevras un mail te retournant la liste des courriels des personnes désinscrites avec en fin de mail le nombre d'inscrit restant dans la liste. Si tout c'est bien passé, ce nombre doit valoir 0.
*Inscription/Désinscription d'une personne à la fois*
Tu peux aussi utiliser les commandes classiques pour inscrire ou désinscrire une personne à la fois :
En tant que modérateur, vous pouvez inscrire et désinscrire n'importe quelle adresse a la liste de diffusion.
Ainsi, pour abonner "john@machine.domaine", mettez simplement un tiret aprés le nom de la commande, puis l'adresse du futur abonne en remplaçant le signe "@" par "=".
Par exemple, pour inscrire l'utilisateur ci-dessus, envoyez un message a : <sbco-subscribe-john=machine.domaine@tela-botanica.org>
De façon similaire, il est possible de retirer son adresse de la liste en écrivant a :
C'est tout ! Aucun sujet special ni corps de message n'est requis.
Créer une liste sur laquelle on puisse (dés)inscrire massivement à distance
C'est le cas pour les listes sbco et bon-eure.L'inscription fonctionne avec 2 scripts qu'il faut copier dans le dossier de la liste, et lier à qmail.
Créer la liste
Bon ben oui, d'abord il faut bien créer une liste. Pour les réglages, s'inspirer de sbco.Copier les scripts
Créer deux fichiers dans le dossier de la liste (ex: /home/vpopmail/domains/tela-botanica.org/sbco/ ), nommés inscrire.sh et desinscrire.sh, dont voici le contenu ci-dessous.Attention il faut remplacer :
- "bon-eure" par le nom de la liste, évidemment (faire un rechercher-remplacer partout)
- "BON30EURE" par un code unique lié à la liste, qui devra être mentionné dans le sujet des messages de commande à distance (inscription et désinscription massive) - aucune idée de pourquoi c'est le nom de la liste avec "30" au milieu, si on met "POUETPOUET" ça marche aussi, il faut juste ne pas choisir un code qui puisse se trouver dans d'autres sujets d'emails (genre "bonjour").
inscrire.sh
#!/bin/sh
LISTE="bon-eure"
FICHIER="/tmp/inscription_en_masse_liste_bon-eure.txt"
cat - > $FICHIER;
REGEXP="^"$SENDER"$"
REGEXP_CODE="^Subject:.*BON30EURE.*$"
# Verification que l'emeteur du courriel fait partie des moderateurs
if /usr/local/bin/ezmlm/ezmlm-list /home/vpopmail/domains/tela-botanica.org/bon-eure mod |grep $REGEXP; then
# Verification que le sujet du mail contient bien le code
if grep "$REGEXP_CODE" $FICHIER; then
for f in `grep -x -E "^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,3}$" /tmp/inscription_en_masse_liste_bon-eure.txt`; do
/usr/local/bin/ezmlm/ezmlm-sub /home/vpopmail/domains/tela-botanica.org/bon-eure $f;
done
DTLINE='Delivered-To: bon-eure-inscrire@tela-botanica.org'
grep "$DTLINE" /tmp/inscription_en_masse_liste_bon-eure.txt > /dev/null &&
{ echo "This message is looping"; exit 100; }
{
echo "$DTLINE"
cat <<EOF
From: bon-eure-help@tela-botanica.org
To: $SENDER
Subject: Compte rendu des inscriptions a bon-eure@tela-botanica.org
Nombre d'inscrits a la liste :
EOF
/usr/local/bin/ezmlm/ezmlm-list /home/vpopmail/domains/tela-botanica.org/bon-eure | wc -l
echo "Liste des inscrits :"
/usr/local/bin/ezmlm/ezmlm-list /home/vpopmail/domains/tela-botanica.org/bon-eure
} | /var/qmail/bin/qmail-inject -f bon-eure-retour@tela-botanica.org "$SENDER"
exit 0;
fi;
fi;
exit 100
desinscrire.sh
#!/bin/sh
LISTE="bon-eure"
REGEXP="^"$SENDER"$"
REGEXP_CODE="^Subject:.*BON30EURE.*$"
# Verification que l'emeteur du courriel fait parti des moderateurs
if /usr/local/bin/ezmlm/ezmlm-list /home/vpopmail/domains/tela-botanica.org/bon-eure mod |grep $REGEXP; then
# Verification que le sujet du courriel contient bien le code defini.
if cat - | grep "$REGEXP_CODE"; then
DTLINE='Delivered-To: bon-eure-desinscrire@tela-botanica.org'
grep "$DTLINE" > /dev/null &&
{ echo "This message is looping"; exit 100; }
{
echo "$DTLINE"
cat <<EOF
From: bon-eure-help@tela-botanica.org
To: $SENDER
Subject: Compte rendu des desinscriptions de bon-eure@tela-botanica.org
Les utilisateurs suivant ont ete supprime de la liste :
EOF
/usr/local/bin/ezmlm/ezmlm-list /home/vpopmail/domains/tela-botanica.org/bon-eure
/usr/local/bin/ezmlm/ezmlm-list /home/vpopmail/domains/tela-botanica.org/bon-eure | /usr/local/bin/ezmlm/ezmlm-unsub /home/vpopmail/domains/tela-botanica.org/bon-eure
echo "Nombre d'utilisateur restant apres suppression :"
/usr/local/bin/ezmlm/ezmlm-list /home/vpopmail/domains/tela-botanica.org/bon-eure | wc -l
} | /var/qmail/bin/qmail-inject -f bon-eure-retour@tela-botanica.org "$SENDER"
exit 0;
fi;
fi;
exit 100;
Créer les "hook" qmail
Il faut encore créer deux fichiers dans le dossier de la liste (ex: /home/vpopmail/domains/tela-botanica.org/sbco/ ), nommés inscrire et desinscrire, dont voici le contenu ci-dessous.À nouveau, penser à remplacer le nom de la liste dans le chemin !
inscrire
|/home/vpopmail/domains/tela-botanica.org/sbco/inscrire.sh
desinscrire
|/home/vpopmail/domains/tela-botanica.org/sbco/desinscrire.sh
Lier les fichiers .qmail aux scripts
Il faut maintenant créer deux liens dans le répertoire du domaine (ex: /home/vpopmail/domains/tela-botanica.org/ ), qui pointent vers ces fichiers.Exemple avec la liste sbco :
ln -s /home/vpopmail/domains/tela-botanica.org/bon-eure/inscrire .qmail-sbco-inscrire ln -s /home/vpopmail/domains/tela-botanica.org/bon-eure/desinscrire .qmail-sbco-desinscrire
Fonctionnement
Exemple avec sbco (reprise d'un message de Jean-Pascal à Benoît).Note: l'expéditeur doit être modérateur de la liste.
*Inscrire plusieurs personnes à la fois*
Pour inscrire des personnes, il faut envoyer un mail à :
sbco-inscrire@tela-botanica.org
avec dans le sujet du courriel le code suivant : SB30CO
et dans le corps du message les courriels des personnes à inscrire.
Il doit y avoir un courriel par ligne avec aucun espace ou tabulation avant et après le courriel. Exemple
jpm@tela-botanica.org
alexandre@tela-botanica.org
Les lignes ne respectant pas ce formalisme ne seront pas prises en compte.
Tu recevras un mail te retournant la liste des courriels des personnes inscrites avec en fin de mail le nombre correspondant. A toi de vérifier que cela correspond bien au nombre de courriel que tu avais envoyé.
*Désinscrire tout le monde*
Pour désinscire tout le monde, il faut envoyer un mail à :
sbco-desinscrire@tela-botanica.org
avec dans le sujet du courriel le code suivant : SB30CO
le corps du message peut rester vide ou contenir ce que tu veux, cela ne sera pas pris en compte.
Tu recevras un mail te retournant la liste des courriels des personnes désinscrites avec en fin de mail le nombre d'inscrit restant dans la liste. Si tout c'est bien passé, ce nombre doit valoir 0.
*Inscription/Désinscription d'une personne à la fois*
Tu peux aussi utiliser les commandes classiques pour inscrire ou désinscrire une personne à la fois :
En tant que modérateur, vous pouvez inscrire et désinscrire n'importe quelle adresse a la liste de diffusion.
Ainsi, pour abonner "john@machine.domaine", mettez simplement un tiret aprés le nom de la commande, puis l'adresse du futur abonne en remplaçant le signe "@" par "=".
Par exemple, pour inscrire l'utilisateur ci-dessus, envoyez un message a : <sbco-subscribe-john=machine.domaine@tela-botanica.org>
De façon similaire, il est possible de retirer son adresse de la liste en écrivant a :
- <sbco-unsubscribe-john=machine.domaine@tela-botanica.org>
C'est tout ! Aucun sujet special ni corps de message n'est requis.